P26 输入验证和Data Annotations



状态码4开头是的消费者引起的,5开头的是服务端的错误。在rest服务里面,错误通常是放在响应的body里面。body里面含一组错误信息。api的消费者可以把这些错误展示给客户端。








开始写代码

创建公司的请求,故意传递null值的json数据。

返回500错误


响应的body里面包含了错误信息



name属性值的要求 ,我们是在RoutingDbContext里面定义的。

这里返回的状态码是500. 5开头的表示服务器端的错误。

实际上是由于我们的消费者引起的这个错误,它传递了一个错误的属性值。所以状态应该返回 4开头的才对。

所以说我们要对传入的参数进行验证。

这个命名空间下有很多的Attribute

加上长度的限制



写完后,再测试

 

注意事项

 

当外面套一层大括号的时候

[
    {
        "Name":null,
        "Introduction":null
    }
]

 

结果报这种错误

 

 

继续



加上ErrorMessage



还可以返回的更友好一点。{0}就表示当前这个属性名






{1}表示最大长度 {2}表示最小长度



结束

 

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