P23 同时创建父子资源 & 创建资源集合
本节课程代码 :
https://github.com/Surbowl/ASP.NET-Core-RESTful-Note/commit/4d30bc4f97db394a7c56650fccef5a472f061087#diff-edfb5e0c9ccdf3fb15d01957562a0a967037c748f3e0f26c0b9723ffed75f75f
先创建EmployeeAddDto,视频里面没有讲这块。
然后创建AutoMapper的转换
在公司的addDto内创建Employees
modle类里面的名称和 AddDto内的名称最好是保持一致。这样我们AutoMapper里面就不需要再做特殊的配置了。
添加员工的逻辑在这里面
添加测试
3条Employee信息
在这里加一个断点进行测试
company里面的参数,有三个employee
entity里面也是3个employee
返回的结果
复制Location的Header
在后面加上employees就可以得到这个公司下的员工了。
同时创建多个资源
来看个请求,这个请求是添加一个company
如果想post一组company的话。例如我们起名叫做companycollections
单独创建Controller
这是博主个人的习惯,用复数新建Controller的方式,当然你也可以写在CompaniedController里面,也是可以的。
注入Repository和AutoMapper
如果注入为空则抛出异常
先默认返回一个ok
运行测试
[ { "Name":"Facebook", "Introduction":"A Good Company" }, { "Name":"Twitter", "Introduction":"A Good Company,too" }, { "Name":"SpaceX", "Introduction":"A Good Company,Again" } ]
请求进入到这个断点
返回结果
剩下的问题是如何返回201?并且再创建一个GetAction,通过这个GetAction就可以获取到刚刚创建好的这个结合。
而这个GetAction的参数就应该是刚刚创建的好的这一组Company的id的数组
结束