P6 写代码:状态码、路由相关

根据前面讲的一些概念来写代码

这里是已经写好的方法,返回一个集合。他是一个Company的集合,并把它返回json


OK就是返回状态码为200的集合,Ok实现了IActionResult

如果要返回为404就可以使用NotFound()方法。这些方法都是ControllerBase这个父类里面的

根据公司id查询,返回单个实体


这个compaynId应该是url的一部分

类似于这种的api地址

如果没有查到这个公司就返回NotFound(),这种写法有可能会发生一些错误。如果请求量比较大,在我第一次查询它存在,然后这段时间内,虽然是在极短的时间内,另外一个请求,正好删除了这条记录。那么后面再去查询这条记录并返回对象的时候实际上是查不到的。
所以下面这种写法有可能会出现错误。


另外一种写法,直接判断查询返回的对象是否为null

补充-解决P3节课最后的错误

默认运行程序会报错。我们使用的是属性路由。但是在Action上并没有标明属性路由。


在Action上加上属性

查询单个实体

这个时候我们再运行程序测试。运行起来了 ,只不过这个起始的网址并不正确。

把前面公共的部门都提出来。

另外一种写法和上面其实是一样的





那么这里其实就是空字符串了

空字符串其实也可以不写

括号也可以不用写

根据id查询就是这样

路径也可以写到Route里面

不过博主还是习惯于第一种写法

修改起始地址


运行程序测试


用postman测试

http://localhost:5000/api/companies



后面传id的形式

 改成一个不存在的id。3.0版本后的404信息在body里面也比较友好了。


 

结束

 

posted @ 2020-03-21 21:58  高山-景行  阅读(269)  评论(0编辑  收藏  举报