3

@Context HttpHeaders内で動作する必要がありInterceptorますか?

私はそれを拡張して注釈を付けたRestfulClassesクラスを作成しました- すべてかなり標準的なものです。javax.ws.rs.core.Application@javax.ws.rs.ApplicationPath("/api")

また、特定のパスを処理するために追加されたクラスもあり、それ自体は正常に機能します。問題は、着信 HTTP ヘッダーをチェックしたいのですが、インターセプターの使用は完璧に思えます。

私のインターセプター クラスは@Context HttpHeaders httpHeaders宣言されていますが、@AroundInvokeメソッド内ではこのプロパティは null です。

これが機能することを期待する必要がありますか、それとも何か不足していますか? 別の方法はありますか?

4

1 に答える 1

0

インターセプターを使用する方法を見つけました。メンバーを持つ基本クラスを拡張します。

 @Context protected HttpHeaders headers;

また、メソッドが呼び出される前にヘッダーを検査する @AroundInvoke メソッド。しかし、それは正確にはエレガントではありません。

Artem のソリューションも機能しますが、私はこのプラットフォームに不慣れで、以前にサーブレット フィルターに遭遇したことがありませんでした。よりエレガントですが、私はまだ web.xml マークアップよりも注釈を好みます...

于 2012-04-27T14:17:01.230 に答える