本节课程代码 :

https://github.com/Surbowl/ASP.NET-Core-RESTful-Note/commit/4d30bc4f97db394a7c56650fccef5a472f061087#diff-edfb5e0c9ccdf3fb15d01957562a0a967037c748f3e0f26c0b9723ffed75f75f

P23 同时创建父子资源 & 创建资源集合



P23 同时创建父子资源 & 创建资源集合

 

先创建EmployeeAddDto,视频里面没有讲这块。

P23 同时创建父子资源 & 创建资源集合
然后创建AutoMapper的转换

P23 同时创建父子资源 & 创建资源集合

在公司的addDto内创建Employees
P23 同时创建父子资源 & 创建资源集合
modle类里面的名称和 AddDto内的名称最好是保持一致。这样我们AutoMapper里面就不需要再做特殊的配置了。
P23 同时创建父子资源 & 创建资源集合
添加员工的逻辑在这里面
P23 同时创建父子资源 & 创建资源集合

P23 同时创建父子资源 & 创建资源集合
3条Employee信息
P23 同时创建父子资源 & 创建资源集合
在这里加一个断点进行测试
P23 同时创建父子资源 & 创建资源集合
company里面的参数,有三个employee
P23 同时创建父子资源 & 创建资源集合
entity里面也是3个employee
P23 同时创建父子资源 & 创建资源集合
返回的结果
P23 同时创建父子资源 & 创建资源集合
复制Location的Header
P23 同时创建父子资源 & 创建资源集合
在后面加上employees就可以得到这个公司下的员工了。
P23 同时创建父子资源 & 创建资源集合

同时创建多个资源

P23 同时创建父子资源 & 创建资源集合
来看个请求,这个请求是添加一个company
P23 同时创建父子资源 & 创建资源集合
如果想post一组company的话。例如我们起名叫做companycollections
P23 同时创建父子资源 & 创建资源集合

单独创建Controller

这是博主个人的习惯,用复数新建Controller的方式,当然你也可以写在CompaniedController里面,也是可以的。
P23 同时创建父子资源 & 创建资源集合

注入Repository和AutoMapper
P23 同时创建父子资源 & 创建资源集合
如果注入为空则抛出异常
P23 同时创建父子资源 & 创建资源集合
先默认返回一个ok
P23 同时创建父子资源 & 创建资源集合

运行测试


P23 同时创建父子资源 & 创建资源集合

 

[
    {
        "Name":"Facebook",
        "Introduction":"A Good Company"
    },
    {
        "Name":"Twitter",
        "Introduction":"A Good Company,too"
    },
    {
        "Name":"SpaceX",
        "Introduction":"A Good Company,Again"
    }
]

 


请求进入到这个断点
P23 同时创建父子资源 & 创建资源集合
返回结果
P23 同时创建父子资源 & 创建资源集合
剩下的问题是如何返回201?并且再创建一个GetAction,通过这个GetAction就可以获取到刚刚创建好的这个结合。
而这个GetAction的参数就应该是刚刚创建的好的这一组Company的id的数组
P23 同时创建父子资源 & 创建资源集合


 

结束

 

相关文章: