摘要:
状态码4开头是的消费者引起的,5开头的是服务端的错误。在rest服务里面,错误通常是放在响应的body里面。body里面含一组错误信息。api的消费者可以把这些错误展示给客户端。 开始写代码 创建公司的请求,故意传递null值的json数据。 返回500错误 响应的body里面包含了错误信息 nam
阅读全文
posted @ 2020-03-22 20:37
高山-景行
阅读(248)
推荐(0)
摘要:
有个需求,是想在后面加上company的guid的post请求。 就是想用post请求,传公司id 查询某个公司的数据: http://localhost:5000/api/companies/bbdee09c-089b-4d30-bece-44df5923716c http://localhost
阅读全文
posted @ 2020-03-22 20:09
高山-景行
阅读(274)
推荐(0)
摘要:
一组资源,需要一组key 创建新的Action。参数从路由里面获得 .net core允许我们使用自定义的Model绑定。下面就来创建一个自定义的Model绑定器。创建Helpers文件夹。 创建类 它需要实现IModelBinder接口,然后重写方法。ModelBindingContext里面有一
阅读全文
posted @ 2020-03-22 19:07
高山-景行
阅读(263)
推荐(0)
摘要:
本节课程代码 : https://github.com/Surbowl/ASP.NET-Core-RESTful-Note/commit/4d30bc4f97db394a7c56650fccef5a472f061087#diff-edfb5e0c9ccdf3fb15d01957562a0a96703
阅读全文
posted @ 2020-03-22 18:43
高山-景行
阅读(218)
推荐(0)
摘要:
创建子资源。Employee作为资源来讲是作为Company的子资源。首先Employee添加之前需要有一个公司,向一个现有的公司添加Employee 创建Action 常见Dto 首先检查companyId对应的是否有公司存在。 配置automapper。他俩之间的属性基本相同,不需要对某些特殊的
阅读全文
posted @ 2020-03-22 17:38
高山-景行
阅读(266)
推荐(0)
摘要:
现在一共有两个实体 针对CompanyController创建Action CompanyDto现在主要是用来做输出的,我们的post是做输入,输入参数和输出参数通常是不一样的。当然也偶尔有时候是一模一样的 添加CompanyAddDto信用做新增的实体。不同作用的dto还是都要单独建立的,以为随着
阅读全文
posted @ 2020-03-22 15:21
高山-景行
阅读(284)
推荐(0)
摘要:
这些都是http标准的一部分。这就是我们使用Get是获取资源,而不是用get去创建或者修改资源。 结束
阅读全文
posted @ 2020-03-22 14:07
高山-景行
阅读(182)
推荐(0)
摘要:
这里相当于是有两个查询条件。但是实际上一些业务代码。查询条件可能会更多,而且业务需求也是一直在变化。例如我还想通过姓名去查询employee那怎么办呢? 如果参数比较多,那么该怎么办呢?使用类,把参数都放在类里面就可以了。 创建文件夹叫做ResourceParameters。在这里面就放参数的类。
阅读全文
posted @ 2020-03-22 13:59
高山-景行
阅读(267)
推荐(0)
摘要:
EmployeeDto的属性字段比较多。我们可以针对它的某个属性字段进行过滤。 model类实际上是一个枚举。dto内是一个字符串。 我们在过滤的时候只能针对dto进行过滤。不能针对这个枚举类型进行过滤。 添加需要过滤的字段 参数从查询参数里面获取 如果传进来的参数名称和定义的不一样 可以这么去配置
阅读全文
posted @ 2020-03-22 10:48
高山-景行
阅读(191)
推荐(0)
摘要:
首先讲一下如何给api传递数据。 在.net core里面有Binding source Arrtibutes这么个属性, 一共有这6种数据源。 FromBody:比如post请求传递一个json对象,对象里面有若干个属性,这时候通常就用FormBody这种负责的类型参数。 FromForm:通常是
阅读全文
posted @ 2020-03-22 10:27
高山-景行
阅读(190)
推荐(0)
摘要:
HEAD没有响应体。HEAD响应的body是没有返回的。 检查API是否可以访问,就是检查资源是否存在。 为api添加HEAD的支持 这样这个Action既支持GET也支持HEAD。当使用get正常请求的时候,它就返回正常的状态码200,和它响应的body 当使用head请求的时候,它返回的相应不会
阅读全文
posted @ 2020-03-22 10:17
高山-景行
阅读(210)
推荐(0)
摘要:
这里的故障指的是服务器端的故障,和读取数据库抛出的异常,这种故障。而不是客户端引起的错误,例如验证错误。 try catch 对想能想到的影响消化还是比较大的。 在这个类里随便抛出一个异常。 状态是500 响应的body里面就是这个异常信息 现在改成生产环境 保存并运行 500的状态码 返回了。但是
阅读全文
posted @ 2020-03-22 10:09
高山-景行
阅读(263)
推荐(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
高山-景行
阅读(217)
推荐(0)
摘要:
父子关系的资源我们怎么来获取 一个公司有多个员工。 employee不应该暴露成api,它应该体现出Company和Employee之间的关系。 创建EmployeesController复数的形式。 继承ControllerBase,并注入两个Repository 如果注入为空则抛出异常来 我们需
阅读全文
posted @ 2020-03-22 09:30
高山-景行
阅读(249)
推荐(0)
摘要:
我们安装的不是第一个库,而是下面这个扩展库,它和.net core里面的依赖注入体系可以更好的结合。 安装它的时候,相当于已经带着AutoMapper了。 注册AutoMapper到DI的容器里面 它需要有参数,程序集的数组。 只有引入了命名空间AutoMapper。下面的UseAutoMapper
阅读全文
posted @ 2020-03-22 00:04
高山-景行
阅读(264)
推荐(0)
摘要:
大部分的Action方法都有明确的返回类型 这里的返回类型相当于是OK里面套了一个companyDtos的List 针对返回类型比较明确的,实际上IActionResult还有一个实现类ActionResult<T>的形式,这里T就是List<CompanyDto> 也可以改成IEnmerable,
阅读全文
posted @ 2020-03-21 23:46
高山-景行
阅读(306)
推荐(0)
摘要:
针对上一讲的内容,我们来写代码。 一共就两个Entity 创建Modes文件夹 创建CompanyDto dto里面暂时不加导航字段,只有下面两个字段。 接口返回的数据改成Dto 运行程序,用postman进行测试 结束
阅读全文
posted @ 2020-03-21 23:34
高山-景行
阅读(328)
推荐(1)
摘要:
dto把Name组合成了一个全名,数据库内存的是出生日期。dto内存的是年龄,这是属性的转换。 dto内的Salary薪水字段,在数据库库可能是存在另外一个表内的。这个表和Person表可能有一定的关联。 结束
阅读全文
posted @ 2020-03-21 23:11
高山-景行
阅读(202)
推荐(0)
摘要:
对第七章讲的部分,进行编码。 在默认情况下,webApi只用json作为输入和输出的格式化器 返回的数据还是json 返回的类型是json 上面的headers才是我们请求的,下面的headers是我们返回的。也是响应的 把接收的类型改成xml,发送请求,后端返回的还是json格式。哪怕我们右边下拉
阅读全文
posted @ 2020-03-21 23:06
高山-景行
阅读(188)
推荐(0)
posted @ 2020-03-21 22:05
高山-景行
阅读(210)
推荐(0)
摘要:
根据前面讲的一些概念来写代码 这里是已经写好的方法,返回一个集合。他是一个Company的集合,并把它返回json OK就是返回状态码为200的集合,Ok实现了IActionResult 如果要返回为404就可以使用NotFound()方法。这些方法都是ControllerBase这个父类里面的 根
阅读全文
posted @ 2020-03-21 21:58
高山-景行
阅读(272)
推荐(0)