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

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

这里是已经写好的方法,返回一个集合。他是一个Company的集合,并把它返回json
P6 写代码:状态码、路由相关

OK就是返回状态码为200的集合,Ok实现了IActionResult
P6 写代码:状态码、路由相关
如果要返回为404就可以使用NotFound()方法。这些方法都是ControllerBase这个父类里面的
P6 写代码:状态码、路由相关

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

P6 写代码:状态码、路由相关
这个compaynId应该是url的一部分
P6 写代码:状态码、路由相关
类似于这种的api地址
P6 写代码:状态码、路由相关
如果没有查到这个公司就返回NotFound(),这种写法有可能会发生一些错误。如果请求量比较大,在我第一次查询它存在,然后这段时间内,虽然是在极短的时间内,另外一个请求,正好删除了这条记录。那么后面再去查询这条记录并返回对象的时候实际上是查不到的。
所以下面这种写法有可能会出现错误。
P6 写代码:状态码、路由相关

另外一种写法,直接判断查询返回的对象是否为null
P6 写代码:状态码、路由相关

补充

默认运行程序会报错。我们使用的是属性路由。但是在Action上并没有标明属性路由。
P6 写代码:状态码、路由相关

在Action上加上属性
P6 写代码:状态码、路由相关
查询单个实体
P6 写代码:状态码、路由相关
这个时候我们再运行程序测试。运行起来了 ,只不过这个起始的网址并不正确。
P6 写代码:状态码、路由相关
把前面公共的部门都提出来。
P6 写代码:状态码、路由相关
另外一种写法和上面其实是一样的
P6 写代码:状态码、路由相关
P6 写代码:状态码、路由相关

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

那么这里其实就是空字符串了
P6 写代码:状态码、路由相关
空字符串其实也可以不写
P6 写代码:状态码、路由相关
括号也可以不用写
P6 写代码:状态码、路由相关
根据id查询就是这样
P6 写代码:状态码、路由相关
路径也可以写到Route里面
P6 写代码:状态码、路由相关
不过博主还是习惯于第一种写法
P6 写代码:状态码、路由相关

修改起始地址

P6 写代码:状态码、路由相关
运行程序测试
P6 写代码:状态码、路由相关

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

用postman测试

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

后面传id的形式
P6 写代码:状态码、路由相关
 改成一个不存在的id。3.0版本后的404信息在body里面也比较友好了。P6 写代码:状态码、路由相关
 

结束

 

上一篇:互联网寒冬,7面阿里,终获Offer,定级P6+


下一篇:已解决:HCSR501连接单片机,LED灯时亮时灭怎么回事?