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的数组



 

结束

 

posted @ 2020-03-22 18:43  高山-景行  阅读(218)  评论(0编辑  收藏  举报