私はJerseyで構築されたRESTインターフェースを持っています。application/json
実際には、すべての受信リクエストに対してのみコンテンツ タイプとしてのみサポートしています。そのため、メッセージ本文のリーダーとライターを次のように定義しました
@Provider
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class MarshallerProvider
implements MessageBodyReader<Object>, MessageBodyWriter<Object>
{
}
ここで、GET と予期される content type を介してドキュメントを取得しようとするテストを作成しましたapplication/xml
。Jersey はこの要求にMessageBodyProviderNotFoundException
.
では、このようなサポートされていないリクエストを正しく処理するにはどうすればよいでしょうか? 例外マッパーを作成する必要がありますか? これは内部例外であるため、このアプローチは好きではありませんか?
このソリューションでは、HTTP 415 (サポートされていないメディア タイプ) を返すことができるはずです。