0
マイRESTEasyのエンドポイントインタフェースは、このように宣言されていますresteasy、@Context UriInfoパラメータをプロキシクライアントコールで使用するために初期化する方法はありますか?
@Path("/entity")
public interface EntitySearchEndpoint {
...
@GET
@Path("/search")
@Produces(MediaType.APPLICATION_JSON)
public Response search(@Context UriInfo ui);
...
}
は今、私はインターフェイス
ResteasyClient reClient = new ResteasyClientBuilder().build();
ResteasyWebTarget webTarget = reClient.target(URI.create("http://example.com"));
EntitySearchEndpoint entitySearchEndpoint = ncspAPIWebTarget.proxy(EntitySearchEndpoint.class);
を使用してプロキシクライアントを作成した今、私は
UriInfo ui = ???
Response response = entitySearchEndpoint.search(ui);
私の質問を使用してサービスを呼び出すことができていますUriInfoのインスタンスを作成して、必要なクエリパラメータのみを含む方法は?
パラメータとして@Context UriInfo
を使用している可能性がありますが、正しい方法は何ですか?
QueryParam名リストが限定されるものではなく、任意の名前が許可されている...
ランディさん、ありがとう、私はついにそれを覚えていませんが、私は後でそれを書き込もうとします。ポイントは、検索パラメータがクエリパラメータにあったということです。疑問符「?paam1 = value1&param2 = value2&.....」の後にあることを意味します。 – mirec
これはおそらく@QueryParamを使用していることを示しています。私はUriInfoを使用しません(あなたはそのようなパラメータとして渡すことはありません)あなたのAPIコードを見て誰かが入力を持っていることを認識しないだろう。 QueryParamははるかに明確です。 – Randy
ええ、しかし、パラメータの数はさまざまで、その名前も変わる可能性があります... – mirec