0

クライアントは、パスは同じでクエリ文字列が異なる2つのURLを要求する場合があります。

1. /hello
2. /hello?name=Mike

ジャージを使用して、それぞれに2つの異なる方法を定義するにはどうすればよいですか?

次に例を示します。

@Path("/hello") 
public class HelloResource {

    @Produces("text/plain")
    public String justHello() {}

    // how to call this method only the query string has "name"
    @Produces("text/plain")
    public String helloWithName() {}
}
4

2 に答える 2

2

あなたはこれを行うことはできません、ジャージーはパスに一致するだけです。詳細については、 http://jersey.java.net/nonav/documentation/latest/jax-rs.htmlを参照してください。

存在するクエリパラメータに基づいて、独自のスイッチを作成できます。一般的に、name=mikeはとにかくあまりRESTyではありません。ジャージーはサポートします:

 /hello/{name}

そして、それが使用されることを意図した方法です。

于 2012-05-28T17:24:24.200 に答える
0

実際にできます。クエリパラメータをチェックする単一のメソッドを/hello/にマップする必要があります。存在する場合は、サブリソースとして別のメソッドに委任します。

http://jersey.java.net/nonav/documentation/latest/jax-rs.html#d4e374

于 2012-05-29T00:00:24.250 に答える