3

RESTEasy を使用して RESTful サービスを設計する必要があります。クライアントは、必要な数のクエリ パラメータを指定して、この共通サービスを呼び出すことができます。私の REST コードは、何らかの方法でこれらのクエリ パラメータを読み取ることができるはずです。たとえば、書籍検索サービスを利用している場合、クライアントは次の呼び出しを行うことができます。

http://domain.com/context/rest/books/searchBook?bookName=someBookName
http://domain.com/context/rest/books/searchBook?authorName=someAuthor& pubName=somePublisher
http://domain.com/context/rest/books/searchBook?isbn=213243
http://domain.com/context/rest/books/searchBook?authorName=someAuthor

これを処理するには、以下のようなサービス クラスを作成する必要があります。

@Path("/books")
   public class BookRestService{

    // this is what I currently have, I want to change this method to in-take all the 
    // dynamic parameters that can come
    @GET
    @Path("/searchBook")
    public Response searchBook(@QueryParam("bookName") String bookName,@QueryParam("isbn") String isbn) {

     // fetch all such params
     // create a search array and pass to backend

    }

    @POST
    @Path("/addBook")
    public Response addBook(......) {
    //....
     }
    }

形式が悪くて申し訳ありません (このエディターでコードの形式がどのように機能するかわかりませんでした!)。ご覧のとおり、メソッド searchBook() を変更して、任意の数のクエリ パラメーターを受け取るようにする必要があります。

ここで同様の投稿を見ましたが、適切な解決策が見つかりませんでした。

オプションのパラメーターを使用して検索用の RESTful URL を設計する方法は?

誰でもこれに光を当てることができますか?

4

2 に答える 2

1

同様の質問がここで尋ねられました:どのように複数のクエリ パラメータを Jersey GET リクエストの Bean のフィールドにマップしますか?

代わりに、kensen john's answer (UriInfo) を使用しました。セットを反復処理して、渡されたパラメーターを確認することができました。

于 2012-10-24T16:19:38.570 に答える