web-services - REST API - 如果请求正文的信息超出需要,我是否应该返回错误?

标签 web-services rest

我当前的配置限制了每个端点的请求正文的属性数量和大小。如果请求正文的信息超出需要,我是否应该返回错误?

假设 /authenticate端点需要 JSON 正文,如下所示:

{
  "login": "string";
  "password": "string";
}

并且用户发送请求
{
  "login": "mylogin",
  "password": "mypassword",
  "foo": "bar"
}

在这种情况下,REST API 是否应该返回错误?

最佳答案

这里有两个选项:

1. 忽略不影响请求处理且无法更改的字段。

默认情况下,大多数 JSON/XML 解析器在填充实体时会跳过尚未反射(reflect)在模型中的字段。

2.严格字段匹配,返回HTTP 422 UNPROCESSABLE ENTITY400 BAD REQUEST代码。

您可以拥有每个端点的所有允许字段的列表,以与传入请求进行比较。

这取决于您的 API 设计和您希望用户遵循的风格。

关于web-services - REST API - 如果请求正文的信息超出需要,我是否应该返回错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45429884/

相关文章:

java - 创建测试自动化套件即服务的最佳方法是什么

java - Optaplanner 6.4.0 webexample车辆路由休息服务未找到错误

java - 在Spring webflux Flux响应中将一个响应对象转换为另一个对象(pojo)而不订阅它

python - 每当 mysql 服务重新启动时,uwsgi 如何重新建立与远程 mysql 数据库的连接

rest - 如何使用 Meteor 公开 RESTful Web 服务

java - 我应该使用 @Scheduled 还是在休息 Controller 中 sleep ?

python - 从 Python 到 Azure 的 REST API 调用问题

.net - 可以更改 WCF 服务在 jsdebug 中生成的 URL 吗?

java - 如何识别 Web 服务是异步的还是同步的

用于同时处理多个请求的 SOAP 服务器的 Python 库?