2013-07-24 47 views
0

的返回錯誤代碼,我有這個POST方法在REST風格:REST風格:在地方JSON

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

通常它得到JSON和JSON返回。如果我在收到的參數中面對不正確的JSON,我想返回錯誤代碼「400 Bad Request」。我怎樣才能做到這一點?

謝謝。

+0

如果你想返回錯誤代碼400,你應在返回給調用者時更改Response頭。 –

回答

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?

+0

我已經解決了:)感謝您確認這是正確的方法。 – flyer