基本 CRUD 操作的 REST 响应模式?

Lot*_*re1 1 php api rest json

基本 CRUD 操作的 REST 响应模式是什么?

如果我想将新条目插入到特定资源中,我只需将包含必要 JSON 数据的 POST 发送到服务器即可。服务器以 { 'id': xx } 进行响应,其中 xx 是新条目的 id。成功的更新请求也是如此。

失败时,我总是发送带有 json 对象的 404 错误,该对象具有 idError 和如下所示的描述。

{idError:'100', errorDesc: 'SQL error'}
{idError:'101', errorDesc: 'Missing resource identifier'}
Run Code Online (Sandbox Code Playgroud)

但是因为我不知道任何模式,所以我想获得一些关于如何在失败时正确返回 json 的提示,以及设置 HTTP 状态代码和响应是否是一个好的做法。

Exp*_*lls 5

成功后,您应该使用 200 状态代码(正如您似乎所做的那样):

  • 200——普遍成功。返回内容。您应该将其用于updateget操作。
  • 201 -- 创建。用这个来post。返回创建的资源。
  • 204 -- 成功。没有返回任何内容。您可以将其与 一起使用delete,但如果您想返回某些内容(例如已删除的资源),请使用 200。

如果您稍后要处理数据,请使用 202。您不太可能会使用它,但请注意它。


您要使用的错误状态取决于错误的类型。400 是客户端错误,例如他们向您发送了错误的信息。500 是服务器错误——您这边的错误。

您可能不会使用 404,因为这意味着未找到资源。如果错误是由于无效输入造成的,您应该使用 400——错误的请求。 请注意 HTTP 状态代码,并尝试使用适当的状态代码。