从REST-ful服务中挑选HTTP状态代码以查找错误

bma*_*ies 15 rest

当客户端调用我的REST-ful服务时,它需要知道响应是否来自"来自我",或者更确切地说是来自包含Web服务器的诊断是否发生了可怕的事情.

一种理论是,如果我的代码被调用,它应该总是返回一个HTTP OK(= 200),并且我必须返回的任何错误应该只在我返回的数据中表示.毕竟,这是我的代码获得响应,而不是裸浏览器.

有点不言而喻,如果我使用REST直接通过浏览器生成HTML读取,如果出现错误,我绝对必须返回错误代码.在我关心的情况下,它总是Javascript或Java来解释响应的内脏.

另一种可能性是存在一些HTTP状态代码系列,我可以高度放心地返回它/它们永远不会被周围容器中的问题生成.是这样的吗?

Jas*_*tts 17

我使用以下内容:

得到

  • 200好的
  • 400错误请求(当输入标准不正确时)

POST

  • 202接受(通过授权方式返回)
  • 401未经授权(也通过授权返回)

  • 201 Created(创建新资源时;我还设置了位置标题)

  • 400错误请求(当创建新实体的数据无效或事务回滚时)

与POST相同

  • 201好的
  • 400错误请求

删除

  • 200好的
  • 找不到404(与GET相同)