1
ClientErrorException
的許多構造函數中的大約一半需要Response.Status
。但爲什麼沒有辦法讓它恢復原狀?除了在javax.ws.rs.WebApplicationException#validate(javax.ws.rs.core.Response, javax.ws.rs.core.Response.Status.Family)
進行驗證之外,它有沒有其他目的?從ClientErrorException中獲取狀態
我想用它的方式將其擴展
public class WhateverInvalidInRequestException extends ClientErrorException {
public WhateverInvalidInRequestException (String message) {
super(message, Response.Status.BAD_REQUEST);
}
}
,然後使用一個單一的ExceptionMapper
所有子類,這是非常方便
@Provider
public class ClientErrorExceptionMapper implements ExceptionMapper<ClientErrorException> {
@Override
public Response toResponse(ClientErrorException exception) {
return Response.status(exception.getStatus()).entity(exception.getMessage()).build();
}
}
但有沒有這樣的事情爲exception.getStatus()
。
我錯過了什麼?