RESTful:返回错误代码代替JSON

时间:2013-07-24 01:32:17

标签: java json rest post

我在RESTful中有这个POST方法:

@POST
@Produces("application/json")
@Consumes("application/json")
public String doPostJson(String string) {
    ...
}

通常它获取JSON并返回JSON。如果我在接收参数中遇到错误的JSON,我想返回错误代码" 400 Bad Request"。我怎么能这样做?

感谢。

1 个答案:

答案 0 :(得分:1)

当您收到错误的JSON时,可以从代码中抛出WebApplicationException。如果您在其他地方也使用此异常,可能最好扩展WebApplicationException

throw new WebApplicationException(Response.Status.BAD_REQUEST);

您可以在此处查看有关WebApplicationException的详细信息:
http://docs.oracle.com/javaee/6/api/javax/ws/rs/WebApplicationException.html

此处Response.Status的列表:
http://docs.oracle.com/javaee/6/api/javax/ws/rs/core/Response.Status.html

SO的另一个好读物与此相关:
JAX-RS / Jersey how to customize error handling?