2

私は、RESTful テクノロジーに「乗り心地」が良かったです。次のような Hello.java リソースを使用しています。

@Path("/hello")
public class Hello {
    ... /* GET/PUT/POST */
}

これで、パスでリソースにアクセスできますhttp://my.host/res/hello。RESTful にもっと乗りたい。この 1 つのリソース パスを持つことは少し退屈です。

問題

次のような動的に作成されたリソースが必要です。

  • http://my.host/res/hello
  • http://my.host/res/hello/1
  • http://my.host/res/hello/2
  • ...
  • http://my.host/res/hello/999

すべての .java リソースを作成するのは意味がありません@Path("/hello/1") ... @Path("/hello/999")。右?おそらく、このサブリソースのリストはさらに大きくなるか、時間とともに動的に変化する可能性があります。その解決策は何ですか?

ありがとう。

4

2 に答える 2

7

@PathResource クラス内のメソッドでアノテーションを使用できます。

@Path("/hello")
public class Hello {
    ... /* GET/PUT/POST */

    @GET
    @Path("{id}")
    public String myMethod(@PathParam("id") String id) {...}
}

パスは連結されるため、一致し/hello/13ます。は{id}、入力された実際の値のプレースホルダーであり、 で取得できます@PathParam。前の URI では、文字列idの値は13.

于 2013-07-25T15:29:35.253 に答える