03 2020 档案

摘要:视频地址: https://www.bilibili.com/video/BV1BJ411B7mn 对应的博客; https://www.cnblogs.com/laozhang-is-phi/p/9495618.html#autoid-1-0-0 从壹开始前后端分离【 .NETCore2.1 +V 阅读全文
posted @ 2020-03-29 17:25 高山-景行 阅读(591) 评论(0) 推荐(0) 编辑
摘要:思维导图的地址 Claim 创建一个简单的令牌 声明数组 调试程序技巧 当代码进行修改后,自动退出 监控文件被修改,然后启动。 post测试,生成的token 加密算法没有 还是提示 这是一个无效的签名 虽然生成了token,但是没有数字签名和加密算法。 通过查看源代码 看到 有5个重写的方法 这样 阅读全文
posted @ 2020-03-29 16:48 高山-景行 阅读(703) 评论(0) 推荐(1) 编辑
摘要:进程内和进程外 这个就是工作进程 我们把这个当前进程结束。打开的浏览器的页面 也随之停止了。所以我们的项目是依赖IIS Express Worker Process的 进程内就是依赖了IIS 进程外的托管。Kestrel使用了dotnet.exe 如何配置这两种托管 这里我们设置为进程内托管 项目启 阅读全文
posted @ 2020-03-29 15:53 高山-景行 阅读(1296) 评论(0) 推荐(2) 编辑
摘要:三个方法查看源码。Reshaper太笨重了。VS2019里面提供了一些Reshaper的功能。 VS2017 F12进入WbHost这里并没有看到源代码, 点进去第一个查看源码 可以搜索CreateDefaultBuilder VS2019查看源代码的形式 F12直接进去看到的就是源代码 因为还的编 阅读全文
posted @ 2020-03-29 13:38 高山-景行 阅读(500) 评论(0) 推荐(0) 编辑
摘要:后端项目的搭建 为什么要学.net core? 微信支付在用.net core 中间件的几种写法 use,不止提供了context上下文,还提供了next参数。next就是控制我们能否进入下一个中间件的方法。 想使用cookie的话 ,必须开启session中间件。 Map可以自定义分支路由 开始创 阅读全文
posted @ 2020-03-29 12:48 高山-景行 阅读(545) 评论(0) 推荐(0) 编辑
摘要:https://www.bilibili.com/video/BV1BJ411B7mn 项目名称整个修改 双击这个批处理文件 比如输入BCVP。会创建项目, 创建成功 生成的文件夹 可以看到所有的名字都变成了刚才你输入的名字 新创建的项目和下载下来的项目的对比 T4模板的使用 T4模板做的一个生成代 阅读全文
posted @ 2020-03-29 12:04 高山-景行 阅读(704) 评论(0) 推荐(2) 编辑
摘要:Delete的Action。传入公司id和员工id,然后分别进行检查。 资源被删除了 不返回什么东西。 再执行一个get请求 ,看看能不能查询到这个employeeId的信息 删除company 删除company的同时 也把employtee也删除掉。 这里设置的还不是级联删除 这句话去掉或者是改 阅读全文
posted @ 2020-03-28 22:49 高山-景行 阅读(154) 评论(0) 推荐(0) 编辑
摘要:json patch支持的操作,一共有6种 add:就是向资源里面添加值,或者是向数组里面添加一个元素。 开始写代码 JsonPatchDocument需要我们安装一个库 从employee映射到UpdateDto 比如说patchDocument如果有一个只读的操作,它add的一个属性,这个属性在 阅读全文
posted @ 2020-03-28 22:38 高山-景行 阅读(260) 评论(0) 推荐(0) 编辑
摘要:这里之前写的通过传一组id获取一组company 要不要做一个传进来一组company,替换一组company。实际上很少这么做。这么做作用范围有点大。 更新或新增 URI对应的资源必须是存在的 写代码 修改这个方法 如果我们通过这个EmployeeId查不到EmployeeEntity的话 如果没 阅读全文
posted @ 2020-03-28 21:56 高山-景行 阅读(283) 评论(0) 推荐(0) 编辑
摘要:url上带employeeId。参数一共是需要两个 一个是companyId另外一个是employeId 还需要第三个参数就是传进来的请求的对象、创建EmployeeUpdateDto 直接复制EmployeeAddDto的代码到UpdateDto里面 他俩的代码虽然是一样的,但是干的活并不一样。大 阅读全文
posted @ 2020-03-28 20:46 高山-景行 阅读(187) 评论(0) 推荐(0) 编辑
摘要:这可以加错误信息,但是想想这个返回正确的错误信息,我们必须要改一下自定Attribute里面的代码。 这里先加一个错误信息。 这里原来的错误信息是个字符串的, 然后这里直接用ErroMessage的属性,不用原来的自私的错误信息的字符串了。 错误信息 错误信息和报告 .net core 就是用这个7 阅读全文
posted @ 2020-03-28 19:57 高山-景行 阅读(206) 评论(0) 推荐(0) 编辑
摘要:先做登陆和退出。 先来复制个登陆页,把之前讲的MVC的项目代码复制过来。 先复制Login.cshtml页面过来,它需要一个CurrentUser对象。 把User类复制过来 把验证码也复制过来 复制过来以后,需要引入一些dll 登陆的逻辑也是复制过来的 首先这里会有一个 get请求来显示登陆的页面 阅读全文
posted @ 2020-03-28 15:47 高山-景行 阅读(561) 评论(0) 推荐(0) 编辑
摘要:对类级别的属性进行验证,也可以针对属性。。这里博主要做的是争对类级别的 先在根目录建个文件夹叫做ValidationAttributes 这次来个不合理的需求,让EmployeeNo不能等于FirstName 新建类:EmployeeNoMustDifferentFromFirstNameAttri 阅读全文
posted @ 2020-03-23 22:10 高山-景行 阅读(263) 评论(0) 推荐(0) 编辑
摘要:这次准备讲下IValidatableObject 再讲它之前要先讲一下原理性的内容 上一节我们这里并没有判断ModelState.IsValid .net core 2.0的版本是这么写的 .net core 3.0没有写,dto发生了验证错误。422状态码以为错误信息都会返回给客户端,这是为什么呢 阅读全文
posted @ 2020-03-23 20:37 高山-景行 阅读(611) 评论(3) 推荐(0) 编辑
摘要:状态码4开头是的消费者引起的,5开头的是服务端的错误。在rest服务里面,错误通常是放在响应的body里面。body里面含一组错误信息。api的消费者可以把这些错误展示给客户端。 开始写代码 创建公司的请求,故意传递null值的json数据。 返回500错误 响应的body里面包含了错误信息 nam 阅读全文
posted @ 2020-03-22 20:37 高山-景行 阅读(241) 评论(0) 推荐(0) 编辑
摘要:有个需求,是想在后面加上company的guid的post请求。 就是想用post请求,传公司id 查询某个公司的数据: http://localhost:5000/api/companies/bbdee09c-089b-4d30-bece-44df5923716c http://localhost 阅读全文
posted @ 2020-03-22 20:09 高山-景行 阅读(270) 评论(0) 推荐(0) 编辑
摘要:一组资源,需要一组key 创建新的Action。参数从路由里面获得 .net core允许我们使用自定义的Model绑定。下面就来创建一个自定义的Model绑定器。创建Helpers文件夹。 创建类 它需要实现IModelBinder接口,然后重写方法。ModelBindingContext里面有一 阅读全文
posted @ 2020-03-22 19:07 高山-景行 阅读(259) 评论(0) 推荐(0) 编辑
摘要:本节课程代码 : https://github.com/Surbowl/ASP.NET-Core-RESTful-Note/commit/4d30bc4f97db394a7c56650fccef5a472f061087#diff-edfb5e0c9ccdf3fb15d01957562a0a96703 阅读全文
posted @ 2020-03-22 18:43 高山-景行 阅读(218) 评论(0) 推荐(0) 编辑
摘要:创建子资源。Employee作为资源来讲是作为Company的子资源。首先Employee添加之前需要有一个公司,向一个现有的公司添加Employee 创建Action 常见Dto 首先检查companyId对应的是否有公司存在。 配置automapper。他俩之间的属性基本相同,不需要对某些特殊的 阅读全文
posted @ 2020-03-22 17:38 高山-景行 阅读(261) 评论(0) 推荐(0) 编辑
摘要:现在一共有两个实体 针对CompanyController创建Action CompanyDto现在主要是用来做输出的,我们的post是做输入,输入参数和输出参数通常是不一样的。当然也偶尔有时候是一模一样的 添加CompanyAddDto信用做新增的实体。不同作用的dto还是都要单独建立的,以为随着 阅读全文
posted @ 2020-03-22 15:21 高山-景行 阅读(278) 评论(0) 推荐(0) 编辑
摘要:这些都是http标准的一部分。这就是我们使用Get是获取资源,而不是用get去创建或者修改资源。 结束 阅读全文
posted @ 2020-03-22 14:07 高山-景行 阅读(179) 评论(0) 推荐(0) 编辑
摘要:这里相当于是有两个查询条件。但是实际上一些业务代码。查询条件可能会更多,而且业务需求也是一直在变化。例如我还想通过姓名去查询employee那怎么办呢? 如果参数比较多,那么该怎么办呢?使用类,把参数都放在类里面就可以了。 创建文件夹叫做ResourceParameters。在这里面就放参数的类。 阅读全文
posted @ 2020-03-22 13:59 高山-景行 阅读(266) 评论(0) 推荐(0) 编辑
摘要:EmployeeDto的属性字段比较多。我们可以针对它的某个属性字段进行过滤。 model类实际上是一个枚举。dto内是一个字符串。 我们在过滤的时候只能针对dto进行过滤。不能针对这个枚举类型进行过滤。 添加需要过滤的字段 参数从查询参数里面获取 如果传进来的参数名称和定义的不一样 可以这么去配置 阅读全文
posted @ 2020-03-22 10:48 高山-景行 阅读(186) 评论(0) 推荐(0) 编辑
摘要:首先讲一下如何给api传递数据。 在.net core里面有Binding source Arrtibutes这么个属性, 一共有这6种数据源。 FromBody:比如post请求传递一个json对象,对象里面有若干个属性,这时候通常就用FormBody这种负责的类型参数。 FromForm:通常是 阅读全文
posted @ 2020-03-22 10:27 高山-景行 阅读(188) 评论(0) 推荐(0) 编辑
摘要:HEAD没有响应体。HEAD响应的body是没有返回的。 检查API是否可以访问,就是检查资源是否存在。 为api添加HEAD的支持 这样这个Action既支持GET也支持HEAD。当使用get正常请求的时候,它就返回正常的状态码200,和它响应的body 当使用head请求的时候,它返回的相应不会 阅读全文
posted @ 2020-03-22 10:17 高山-景行 阅读(207) 评论(0) 推荐(0) 编辑
摘要:这里的故障指的是服务器端的故障,和读取数据库抛出的异常,这种故障。而不是客户端引起的错误,例如验证错误。 try catch 对想能想到的影响消化还是比较大的。 在这个类里随便抛出一个异常。 状态是500 响应的body里面就是这个异常信息 现在改成生产环境 保存并运行 500的状态码 返回了。但是 阅读全文
posted @ 2020-03-22 10:09 高山-景行 阅读(262) 评论(0) 推荐(0) 编辑
摘要:通过CompanyId获取公司下面某一个员工 运行测试 这个employee的URI比较长 http://localhost:5000/api/companies/bbdee09c-089b-4d30-bece-44df5923716c/employees/ca268a19-0f39-4d8b-b8 阅读全文
posted @ 2020-03-22 09:36 高山-景行 阅读(216) 评论(0) 推荐(0) 编辑
摘要:父子关系的资源我们怎么来获取 一个公司有多个员工。 employee不应该暴露成api,它应该体现出Company和Employee之间的关系。 创建EmployeesController复数的形式。 继承ControllerBase,并注入两个Repository 如果注入为空则抛出异常来 我们需 阅读全文
posted @ 2020-03-22 09:30 高山-景行 阅读(246) 评论(0) 推荐(0) 编辑
摘要:我们安装的不是第一个库,而是下面这个扩展库,它和.net core里面的依赖注入体系可以更好的结合。 安装它的时候,相当于已经带着AutoMapper了。 注册AutoMapper到DI的容器里面 它需要有参数,程序集的数组。 只有引入了命名空间AutoMapper。下面的UseAutoMapper 阅读全文
posted @ 2020-03-22 00:04 高山-景行 阅读(263) 评论(0) 推荐(0) 编辑
摘要:大部分的Action方法都有明确的返回类型 这里的返回类型相当于是OK里面套了一个companyDtos的List 针对返回类型比较明确的,实际上IActionResult还有一个实现类ActionResult<T>的形式,这里T就是List<CompanyDto> 也可以改成IEnmerable, 阅读全文
posted @ 2020-03-21 23:46 高山-景行 阅读(304) 评论(0) 推荐(0) 编辑
摘要:针对上一讲的内容,我们来写代码。 一共就两个Entity 创建Modes文件夹 创建CompanyDto dto里面暂时不加导航字段,只有下面两个字段。 接口返回的数据改成Dto 运行程序,用postman进行测试 结束 阅读全文
posted @ 2020-03-21 23:34 高山-景行 阅读(328) 评论(0) 推荐(1) 编辑
摘要:dto把Name组合成了一个全名,数据库内存的是出生日期。dto内存的是年龄,这是属性的转换。 dto内的Salary薪水字段,在数据库库可能是存在另外一个表内的。这个表和Person表可能有一定的关联。 结束 阅读全文
posted @ 2020-03-21 23:11 高山-景行 阅读(201) 评论(0) 推荐(0) 编辑
摘要:对第七章讲的部分,进行编码。 在默认情况下,webApi只用json作为输入和输出的格式化器 返回的数据还是json 返回的类型是json 上面的headers才是我们请求的,下面的headers是我们返回的。也是响应的 把接收的类型改成xml,发送请求,后端返回的还是json格式。哪怕我们右边下拉 阅读全文
posted @ 2020-03-21 23:06 高山-景行 阅读(188) 评论(0) 推荐(0) 编辑
摘要:结束 阅读全文
posted @ 2020-03-21 22:05 高山-景行 阅读(209) 评论(0) 推荐(0) 编辑
摘要:根据前面讲的一些概念来写代码 这里是已经写好的方法,返回一个集合。他是一个Company的集合,并把它返回json OK就是返回状态码为200的集合,Ok实现了IActionResult 如果要返回为404就可以使用NotFound()方法。这些方法都是ControllerBase这个父类里面的 根 阅读全文
posted @ 2020-03-21 21:58 高山-景行 阅读(272) 评论(0) 推荐(0) 编辑
摘要:重点4开头状态码 415整合和406相反 错误和故障 结束 阅读全文
posted @ 2020-03-21 21:35 高山-景行 阅读(272) 评论(0) 推荐(0) 编辑
摘要:POST GET DELETE PATCH PUT 综上 结束 阅读全文
posted @ 2020-03-21 21:26 高山-景行 阅读(260) 评论(0) 推荐(0) 编辑
摘要:可以看具体的配套博文 https://www.cnblogs.com/cgzl/p/11831147.html 阅读全文
posted @ 2020-03-21 21:12 高山-景行 阅读(214) 评论(0) 推荐(0) 编辑
摘要:建议的做法 创建Controller 博主习惯于用复数的形式,CompaniesController 首先让他继承与ControllerBase这个类。 这里其实继承Controller也行。我们F12进去。 controller也是继承于ControllerBase的。所以Controller的东 阅读全文
posted @ 2020-03-21 21:10 高山-景行 阅读(285) 评论(0) 推荐(0) 编辑
摘要:三者的依赖关系 创建api项目 上面输入Asp.net core进行搜索 3.0的api模板现在比较简洁,以前博主是倾向于直接选择Empty的项目。 创建后的项目比较简洁,带了一个Controller还有一个modle 这是一个modle类 它是一个简单的Controller 这两个都是用来演示的, 阅读全文
posted @ 2020-03-21 21:07 高山-景行 阅读(349) 评论(0) 推荐(0) 编辑
摘要:b站地址: https://www.bilibili.com/video/av77957694 Entity Framework Core 3.1 极简入门教程(完结) https://www.bilibili.com/video/BV1xa4y1v7rR?p=1 博客地址:https://www. 阅读全文
posted @ 2020-03-21 18:05 高山-景行 阅读(845) 评论(0) 推荐(0) 编辑
摘要:修改Department下的Index.cshtml DepartmentController的Index,它返回类型是Ienumerable<Department> 这里漏掉了一个await 所以需要在View里面指明它的类型。通过@model指定它的类型 在上面可以使用using把命名空间导入进 阅读全文
posted @ 2020-03-21 14:52 高山-景行 阅读(193) 评论(0) 推荐(0) 编辑
摘要:使用MVC相关的技术。Razor Page属于单独的一种技术 首先是添加了几个model,视频中没有讲,这里已经添加完了 一个是Department Employee用DepartmentId和部门关联。性别用的是枚举, 公司统计。,统计员工的数量,平均每个部门的人数,这个model就是做这个用的 阅读全文
posted @ 2020-03-20 23:33 高山-景行 阅读(292) 评论(0) 推荐(0) 编辑
摘要:如何运行.net core的web应用。 上面是使用IIS Express Three,和解决方案名相同,相当于是自己运行这个应用,因为它本身就是一个控制台应用,所以它本身就可以运行。 .net core内嵌一个web服务器叫做kestrel。这里可以配置上使用kestrel。当然这个方法也可以不写 阅读全文
posted @ 2020-03-20 23:30 高山-景行 阅读(249) 评论(0) 推荐(0) 编辑
摘要:下面来介绍Configure这个方法,第一个参数IApplicationBuilder,它实际上对应的是一个服务,通过依赖注入的方式把它注入了进来。注入的时候使用的是这个服务对应的接口也就是IApplicationBuilder Configure到底是做什么用的,它配置了.net core针对处理 阅读全文
posted @ 2020-03-20 08:44 高山-景行 阅读(232) 评论(0) 推荐(1) 编辑
摘要:开发的时候尽量使用VS2019 安装的时候只需要勾选这一项就可以了 这是安装完成之后 项目起名叫做Three 选择.net core这里就可以看到 ASP.NET Core 3.0了。 如果前面选择的是.NET Framework的话,后面就看不到 .net Core 3.0了。这是因为.net C 阅读全文
posted @ 2020-03-20 08:42 高山-景行 阅读(362) 评论(0) 推荐(1) 编辑
摘要:B站杨旭 https://www.bilibili.com/video/av65313713 P1 创建项目(上) P2 创建项目(中) P3 创建项目(下) P4 建立Controller,使用Tag Helper 阅读全文
posted @ 2020-03-19 22:48 高山-景行 阅读(702) 评论(0) 推荐(1) 编辑
摘要:01.模块一:Python零基础入门 第00章 开课前准备 01.Python配置与运行 阅读全文
posted @ 2020-03-07 23:01 高山-景行 阅读(835) 评论(0) 推荐(0) 编辑
摘要:F:\BaiDu\【瑞客论坛www.ruike1.com】网易云微专业《职场人必学的Python技能课》(完结)\01.模块一:Python零基础入门\第00章 开课前准备 注意添加到环境变量里面去,这里要勾选。 如果没有勾选的话,在cmd里面运行python就会提示下面这个。 安装成功 测试pyt 阅读全文
posted @ 2020-03-07 22:57 高山-景行 阅读(423) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示