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

Php 基本CRUD操作的REST响应模式?,php,json,api,rest,Php,Json,Api,Rest,基本CRUD操作的REST响应模式是什么? 如果我想在一个特定的资源中插入一个新条目,我只需向服务器发送一篇包含必要的JSON数据的帖子。服务器用{'id':xx}响应,其中xx是新条目的id。成功的更新请求也是如此 失败时,我总是发送一个404,其中包含一个json对象,该对象有一个idError和如下描述 {idError:'100', errorDesc: 'SQL error'} {idError:'101', errorDesc: 'Missing resource identifie

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

如果我想在一个特定的资源中插入一个新条目,我只需向服务器发送一篇包含必要的JSON数据的帖子。服务器用{'id':xx}响应,其中xx是新条目的id。成功的更新请求也是如此

失败时,我总是发送一个404,其中包含一个json对象,该对象有一个idError和如下描述

{idError:'100', errorDesc: 'SQL error'}
{idError:'101', errorDesc: 'Missing resource identifier'}

但由于我不知道任何模式,我想获得一些技巧,了解如何在失败时正确返回json,以及在响应时设置HTTP状态码是否是一种好的做法。

成功后,您应该使用200个状态码(就像您现在做的那样):

  • 200--一般成功。返回内容。您应该将其用于
    update
    get
    操作
  • 201--创建。用于
    post
    。返回创建的资源
  • 204--成功。不返回任何内容。您可以将其与
    delete
    一起使用,但如果要返回某些内容(例如已删除的资源),请使用200
如果以后要处理数据,请使用202。你不太可能会使用它,但要注意它


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


您可能不会使用404,因为这意味着找不到资源。如果错误是由无效输入引起的,则应使用400--错误请求,并尝试使用合适的答案。

这是一个PHP问题吗?我认为,关键在于你的API设计,哪种方式更适合你。看看其他web服务()中的API。其中一些只是响应没有JSON只是HTTP状态码。我将添加401“Unauthorized”添加409,以在创建时解决冲突