2017-06-06 8 views
0

私はスプリング・ブートに移行する予定のジャージー・レストAPIを持っています。ジャージー・フィルターをスプリング・ブート・ジャージーで使用する

ContainerRequestFilterを実装し、フィルタに@Providerアノテーションを持つフィルタがあります。私はResourceConfigにフィルターを登録しました。しかし、私はまだフィルタが実行されて表示されません。 SERVERランタイムに登録されたプロバイダ「My Filterクラス」は、SERVERランタイムに適用可能なプロバイダインターフェイスを実装していません。制約の設定上の問題により、プロバイダ "My Filter class"は無視されます。

jerseyをサーブレットとして使用したいので、ジャージーをフィルタとして動作させるように変更することは、私のアプリケーションでは機能しません。

誰か助けてもらえますか?

は、ここに私のコード

ジャージーフィルタ

@Provider 
public class CustomJerseyLoggingFilter implements ContainerRequestFilter, ContainerResponseFilter { 

    @Override 
    public ContainerRequest filter(ContainerRequest request) { } 

    @Override 
    public ContainerResponse filter(ContainerRequest request, ContainerResponse response) { } 
} 

@Component 
public class JerseyConfig extends ResourceConfig { 

    public JerseyConfig() { 
     register(CustomJerseyLoggingFilter.class); 
    } 
} 
+0

です。 –

+0

Uは、Spring Bootへの移行とともに、ContainerRequestFilterも保持したいと思っています。そしてSpring起動コントローラに達する前に、まずFilterを傍受する必要がありますか? –

+0

@SubhasishSahu - はい、あなたは正しいです – Deepa

答えて

0

あなたは間違っContainerRequestFilterを実装しています。使用しているのはJersey 1.xのものです。あなたのプロジェクトにJersey 1.xのjarファイルがある理由がわかりません。あなたが実装する必要があります(2.xのための)ContainerRequestFilterはあなたのコードを投稿することができ

javax.ws.rs.container.ContainerRequestFilter javax.ws.rs.container.ContainerResponseFilter

+0

はい、これはこの問題を修正しました。私はフィルタを変更し、今働いています。これを調べる時間を取ってくれてありがとう。 – Deepa

関連する問題