json - JSON 验证 REST 端点的正确名称和 http 方法

标签 json rest validation http methods

<分区>

我想实现一个 REST 端点,其通用目的是验证 JSON 格式的复杂实体。

那么,第一个问题是应该使用哪种 HTTP 方法?我们不能将 JSON 放入 GET 方法的正文中。 POST 和 PUT 是对数据库进行某些更改但验证未进行任何更改时应使用的方法。

第二个问题是什么资源名称适合这样的端点?

最佳答案

POST 和 PUT 之间的主要区别是 PUT 是幂等的,而 POST 不是。

那么,问题是,如果您两次运行相同的验证请求,您会期望得到不同的结果吗?我想不会,所以 PUT 可能是最佳选择。

如果您想成为高效的 RESTful,约束之一是端点应以您要处理的资源为目标,HTTP 方法指示您要对其执行的操作。因此,就您而言,我个人会选择:

PUT /api/v42/validation

正如@RomanVottner 所建议的那样,您还可以通过将每个请求视为“新的验证报告生成”来解决这一需求,在这种情况下 POST 会更合适:

POST /api/v42/validations

无论如何,您正面临这些边缘情况之一,REST 需要稍微调整一下,因为这种需求不在 CRUD 世界之内。

关于json - JSON 验证 REST 端点的正确名称和 http 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44281412/

相关文章:

java - 如何使用 GSON 从 Primeface 应用程序下载 json 文件?

json - 在 PLSQL 中调用 REST API (JSON)

c# - 使用 WCF Rest 服务下载文件?

c# - 即使字符串匹配,正则表达式验证也会显示错误

Javascript 在文本框中的预定义文本后仅验证数字

javascript - 使用 HTML 表单验证仅验证可见字段?

json - REST API - 包含相关的对象详细信息或仅包含 ID

sql - 使用子查询时查询失败

java - Jackson JSON 和 Hibernate JPA 问题的无限递归

ios - 为什么我无法快速下载所有 json 值?