我当前的配置限制了每个端点的请求正文的属性数量和大小。如果请求正文的信息超出需要,我是否应该返回错误?
假设 /authenticate
端点需要 JSON 正文,如下所示:
{
"login": "string";
"password": "string";
}
并且用户发送请求
{
"login": "mylogin",
"password": "mypassword",
"foo": "bar"
}
在这种情况下,REST API 是否应该返回错误?
最佳答案
这里有两个选项:
1. 忽略不影响请求处理且无法更改的字段。
默认情况下,大多数 JSON/XML 解析器在填充实体时会跳过尚未反射(reflect)在模型中的字段。
2.严格字段匹配,返回HTTP 422 UNPROCESSABLE ENTITY
或 400 BAD REQUEST
代码。
您可以拥有每个端点的所有允许字段的列表,以与传入请求进行比较。
这取决于您的 API 设计和您希望用户遵循的风格。
关于web-services - REST API - 如果请求正文的信息超出需要,我是否应该返回错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45429884/