休息Web服务 - 错误代码

时间:2016-02-19 04:13:08

标签: java rest restful-architecture

感谢阅读和关注。

我的问题是,是否存在或者我可以使用HTTP代码表来使用REST Web服务来处理我的错误吗?让我解释一下:

UserRestWS (示例)

  • “/ users”GET,如果错误或不返回200,因为返回空 或者不是空的用户列表);

  • “/ {code} / user”GET,如果查找用户返回200,用户为实体, 否则404带有自定义错误消息。

  • “/ user / new”POST,如果保存操作成功结束,我返回200, 否则验证错误(某些字段错误)?服务器 问题或计算错误?

  • “/ {code} / update”PUT,与上述相同

  • “/ {code} / delete”DELETE,同样的 上述

我会遵循HTTP代码或其他标准技术之类的“标准”用法。你能建议我找一个这类问题的桌子吗?

对我来说,它总是500错误代码。

我用Google搜索,我发现这些链接,对我没用。 https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_Server_Error http://www.restapitutorial.com/httpstatuscodes.html

2 个答案:

答案 0 :(得分:2)

enter image description here

Http代码映射:

创作 - 发布:

•   200 – success : With either user details in response / user id in response
•   204 – No content : Indicates success – with no output
•   400 – Client input error : Whatever may be error with respect to input, 
•   500 – ISE: This is mapped as generic, for all other errors.

这里的调整是您可以添加错误代码,因此在调试应用程序时可以涵盖所有情况。

例如:

HTTP Error code: 500.
Internal Error code: APP-USER-1001 
Description:  Failed to create user with long user name. Name cannot cross 100 chars. 

获取所有用户:

•   200  - success : With all the users data
•   204 – no content : No users exist in the system
•   500 – ISE: Error while retrieving the users.

如果每个错误都映射到500,那么API使用者无法处理这种情况。

同样,API可以根据案例应用于其他端点。

答案 1 :(得分:0)

以下是完整的说明。

+---------+-----------+------------------------------------------------------------------------+
| Sr. No. | HTTP Code |  Description                                                           |
+---------+-----------+------------------------------------------------------------------------+
|       1 |       200 | OK, shows success.                                                     |
|       2 |       201 | CREATED, when a resource is successful created using POST or PUT       |
|         |           | request. Return link to newly created resource using location          |
|         |           | header.                                                                |
|       3 |       204 | NO CONTENT, when response body is empty for example, a DELETE          |
|         |           | request.                                                               |
|       4 |       304 | NOT MODIFIED, used to reduce network bandwidth usage in case of        |
|         |           | conditional GET requests. Response body should be empty. Headers       |
|         |           | should have date, location etc.                                        |
|       5 |       400 | BAD REQUEST, states that invalid input is provided e.g.                |
|         |           | validation error, missing data.                                        |
|       6 |       401 | UNAUTHORIZED, states that user is using invalid or wrong               |
|         |           | authentication token.                                                  |
|       7 |       403 | FORBIDDEN, states that user is not having access to method being       |
|         |           | used for example, delete access without admin rights.                  |
|       8 |       404 | NOT FOUND, states that method is not available.                        |
|       9 |       409 | CONFLICT, states conflict situation while executing the method         |
|         |           | for example, adding duplicate entry.                                   |
|      10 |       500 | INTERNAL SERVER ERROR, states that server has thrown some              |
|         |           | exception while executing the method.                                  |
+---------+-----------+------------------------------------------------------------------------+

参考文献:http://www.tutorialspoint.com/restful/restful_quick_guide.htm