我想知道我们的RESTful api上是否正确使用了HTTP错误代码412
。
我们有一个URL可以根据请求重新生成一些数据,并且它在服务器端有一些逻辑可以在内部检查是否没有新的重新生成它将检索412
状态代码。如果服务器上有一些更改,它将重新生成数据,并将检索200
状态代码。
我认为412
不是错误的好选择,因为条件检查是在服务器端内部发生的。所以我认为对两个案例使用状态代码200
可能是更好的方法。最后,URL将使用JSON进行响应,其中包含有关生成状态的数据。
答案 0 :(得分:1)
前提条件失败在所描述的场景中肯定被误用。它应与if
- 系列标题严格关联使用,例如:If-Match
或If-None-Match
等。
在这种情况下可用的代码是:200,204和409。
200 - 在这两种情况下(数据生成,没有代)和有意义的机构 - 无需生成的数据或消息
200 - 生成数据时,204时没有生成数据。
200 - 生成数据时409和没有生成数据时。
在每种情况下(409除外),您都应该包含有意义的消息或数据本身。
404在这里没有用 - 这不是找不到端点的情况。