2017-10-18 17 views
0

Jersey 1.9 RSコールをインターセプトし、パスパラムとの一致でクエリのパラメータを変更する方法を理解する助けが必要です。Jersey 1.9 - パスのパラメータ名と対応する値を取得する方法

のは、私はRSクラスを持っているとしましょう:私はこのRS呼び出しをインターセプトし、パスやクエリパラメータからbookNameを取得したい

@Path("/bookstore") 
public class BookStore { 

    @GET 
    @Path("/books/{bookName}") 
    public Book addBook(@PathParam("bookName") String bookName, @QueryParam("isLegacy") String isLegacy) { 
     return book; 
    } 
} 

。 bookNameが "Spiderman"と答える場合、リクエストのクエリパラメータisLegacyをfalseに変更します。

この例は明らかにすべて構成されています。

Filter、AOPなどの方法でこれを行う方法はありますか?私はGuise、Jersey 1.9を使用しています。

ありがとうございます!

答えて

0

PerRequestTypeInjectableProviderを拡張し、@Providerと注釈を付けるクラスを作成する必要があります。 getInjectableメソッドをオーバーライドすることで、前述のようにクエリパラメータを変更するようにJerseyに指示できます。

関連する問題