【发布时间】:2017-01-29 08:04:56
【问题描述】:
我必须创建几个 Web 服务来验证给定字段的可能值。我正在考虑有类似的东西:
POST /entity/fieldName body { fieldValues }
如果参数无效,POST 将返回 400(错误请求),否则返回 422(不可处理实体)。但是我不太喜欢 422 响应部分,因为它使请求总是返回错误。另一方面,由于我只是在做验证,而且这是一个 POST,我不想在服务器上实际创建一个新资源(即返回 200)。是否有另一个更适合此的 HTTP 方法/API 端点?对于它的价值,我将检查 <fieldName> 的实体字段是否在给定范围内具有其值。
【问题讨论】:
-
好吧,因为端点是用于验证目的,我认为如果实体无效(而不是400 bad request) 和 200 OK 如果实体有效。
-
@BackSlash,但不使用 POST 并返回 200 是否意味着已在服务器上创建了新资源?因为这样的事情实际上不会发生。
-
我认为“A new resource has been created”是201 Created。 200 OK 对我来说意味着“请求已处理并且一切正常”。不过我绝对不是REST专家,还是等别人的答案/cmets吧
-
@BackSlash,谢谢!你是对的,我认为 - 我突然进入了这个 stackoverflow.com/questions/1860645/…。
标签: java web-services rest validation