Some common error codes for GET requests include:
-
301 Moved Permanently- If the resource has been moved -
400 Bad Request- If the client request is unaccaptable, i.e. if the client sends none-sense parameters in the request -
401 Unauthorized- If the client did not provide any valid credentials -
403 Forbidden- If the client is authorized but not allowed to perform the request (you can also return a 404 in this case to conceal that this resource exists at all) -
404 Not Found- If the requested resource could not be found
Create a POJO to represent these error messages and then return it using a Jersey Response object.
For example the error object could look like this:
public class ApiError {
private String code;
private String message;
private String developerMessage;
// Getters and Setters here
}
To return it you can do the following (i.e. in your catch block or your custom ExceptionMapper):
ApiError error = new ApiError("409-1", message, developerMessage);
return Response.status(Response.Status.CONFLICT).entity(error).build();
This way you can provide nicely formatted JSON/XML error messages containing custom error codes and further information for the developer. The error entities will get serialized according to your @Produces annotation.
References:

本文详细解析了GET请求中常见的HTTP状态码,并提供了一种使用Jersey框架构建自定义错误响应的方式,帮助开发者更好地理解并处理HTTP错误。
1153

被折叠的 条评论
为什么被折叠?



