[英]Json request validation for mandatory field - springboot rest-api
[英]REST api for field validation
我必须创建几个 Web 服务来验证给定字段的可能值。 我正在考虑有这样的事情:
POST /entity/fieldName body { fieldValues }
如果参数无效,POST 将返回 400(错误请求),否则返回 422(不可处理实体)。 但是我不太喜欢 422 响应部分,因为它使请求总是返回错误。 另一方面,由于我只是在做验证并且这是一个 POST,我不想在服务器上实际创建一个新资源(即返回 200)。 是否有另一个更适合此的 HTTP 方法/API 端点? 对于它的价值,我将检查带有<fieldName>
的实体字段是否在给定范围内具有其值。
如果您所做的只是验证,那么我认为您应该发送422
验证错误和200
验证成功。 POST 并不意味着您必须始终创建一个新实体。
POST 方法执行的操作可能不会产生可由 URI 标识的资源。 在这种情况下,200(正常)或 204(无内容)是适当的响应状态,具体取决于响应是否包含描述结果的实体。
如果在源服务器上创建了资源,则响应应该是 201(已创建)并包含一个实体,该实体描述请求的状态并引用新资源,以及一个位置标头(参见第 14.30 节)。
我更喜欢谷歌的 api 错误响应风格。
所以我的服务将错误响应作为 json 或 xml 和400 Bad request
错误代码发送:
{
"status": "INVALID_REQUEST",
"type": "ERROR_MSG",
"data": {
"request": "/v2/data?age=23d",
"errors": [
"age: not a number"
]
},
"time": -1
}
否则200
和相应的消息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.