上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 93 下一页
摘要: 这可以加错误信息,但是想想这个返回正确的错误信息,我们必须要改一下自定Attribute里面的代码。 这里先加一个错误信息。 这里原来的错误信息是个字符串的, 然后这里直接用ErroMessage的属性,不用原来的自私的错误信息的字符串了。 错误信息 错误信息和报告 .net core 就是用这个7 阅读全文
posted @ 2020-03-28 19:57 高山-景行 阅读(204) 评论(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 高山-景行 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 这次准备讲下IValidatableObject 再讲它之前要先讲一下原理性的内容 上一节我们这里并没有判断ModelState.IsValid .net core 2.0的版本是这么写的 .net core 3.0没有写,dto发生了验证错误。422状态码以为错误信息都会返回给客户端,这是为什么呢 阅读全文
posted @ 2020-03-23 20:37 高山-景行 阅读(607) 评论(3) 推荐(0) 编辑
摘要: 状态码4开头是的消费者引起的,5开头的是服务端的错误。在rest服务里面,错误通常是放在响应的body里面。body里面含一组错误信息。api的消费者可以把这些错误展示给客户端。 开始写代码 创建公司的请求,故意传递null值的json数据。 返回500错误 响应的body里面包含了错误信息 nam 阅读全文
posted @ 2020-03-22 20:37 高山-景行 阅读(239) 评论(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 高山-景行 阅读(269) 评论(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 高山-景行 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 现在一共有两个实体 针对CompanyController创建Action CompanyDto现在主要是用来做输出的,我们的post是做输入,输入参数和输出参数通常是不一样的。当然也偶尔有时候是一模一样的 添加CompanyAddDto信用做新增的实体。不同作用的dto还是都要单独建立的,以为随着 阅读全文
posted @ 2020-03-22 15:21 高山-景行 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 这些都是http标准的一部分。这就是我们使用Get是获取资源,而不是用get去创建或者修改资源。 结束 阅读全文
posted @ 2020-03-22 14:07 高山-景行 阅读(176) 评论(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 高山-景行 阅读(206) 评论(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 高山-景行 阅读(262) 评论(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 高山-景行 阅读(271) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 93 下一页