0
我正在使用Apache-cxf來實現Restful Web服務。如果發生異常,我使用ExceptionMapper構建響應對象。如果發生任何異常,我會收到錯誤。 「未找到響應類MyException的消息正文作者
」找不到響應類MyException的消息正文作者。「
我可以找到一些建議實現MessageBodyWriter的自定義Writer的帖子,但我不是很清楚爲什麼我需要自定義編寫器,如果爲構建響應傳遞的實體對象(ErrorInfo)是jaxb對象。這可能是一個非常愚蠢的問題,但只是想明白。
@Provider
public class MyExceptionMapper implements
ExceptionMapper<MyException> {
@Override
public Response toResponse(MyException ex) {
Response.Status statusCode = exceptionMap.get(ex.getClass());
ErrorInfo errorInfo=new ErrorInfo();
errorInfo.setErrorCode(ex.getErrorCode());
errorInfo.setErrorMessage(ex.getMessage());
return Response.status(statusCode).entity(ex).build();
}
}
@XmlRootElement(name = "errorInfo")
@XmlType(propOrder = { "errorCode", "errorMessage"})
public class ErrorInfo {
private String errorCode;
private String errorMessage;
public String getErrorCode() {
return errorCode;
}
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
}