RESTEasy Spring MVC統合(RestEasy 2.0、Spring 3.0を使用したspringmvc-resteasy)を使用しています。RESTEasy例外マッピングプロバイダーを宣言して、アプリケーション例外をHTTP応答にマッピングしたいと思います。現在、私のアプリケーションは明示的に拡張されておらずjavax.ws.rs.core.Application
、理想的には、フレームワークによる例外マッピングプロバイダーの自動スキャンに依存したいと考えています。
これが私の例外マッパーの1つがどのように見えるかです。
@Provider public class MyAppExceptionMapper implements ExceptionMapper<MyAppException> {
public Response toResponse(MyAppException exception) {
return Response.status(Response.Status.BAD_REQUEST).build();
}
}
そして、私の例外クラスは次のようになります
public class MyAppException extends RuntimeException {
public MyAppException(String s, Throwable t) {
super(s,t);
}
}
アプリケーションがをスローするMyAppException
と、HTTP-400応答にマップされません(フレームワークから通常のHTTP-500を取得します)
足りないものはありますか?これがフレームワークにプロバイダーを「登録」しない問題である場合、springmvc-resteasyを使用しているときに例外マッパーを登録するにはどうすればよいですか?
ありがとう。