0

以下の GET は、次の uri でトリガーされます

/PathA/SomePathA

@Path("/PathA")
public class SubscriptionEntry 
{
  @Path("{PathA}") 
  public SomeType SomeMethod(@PathParam("parA") String userip) 
  {
            //This is called!!! with  /PathA/SomePathA 
           return new SomeResource(uriInfo,request,userip,httpreq);
  }
}

どこ SomeResource はこのようなものです

public class SomeResource 
{
  @GET 
  public Type AnotherMethod
  {
        .....
        .....
  }

      @Path({"What is suppose to be here???? since this class has no name??}") 
      public MyType MyMethod()
      {.... 

      }


}

私の質問は、MyMethodが次のようなurisでトリガーされるように、上記のクラス(パスに必要なもの)をどのように調整できるかです

/PathA/SomePathA/テスト

また

/PathA/SomePathA/SomePathB/Test

次のようなことを試してみましたが、うまくいきません

@Path("/Test") 
      public MyType MyMethod() {} 

これをどのように機能させるか、または何が欠けているかについての提案はありますか??

4

1 に答える 1

0

まず、あるリソースから別のリソースを呼び出すことは、RESTful アーキテクチャーに対する間違ったアプローチです。第二に、あなたが求めたことは不可能です。

代わりに、リソース間の関係を特定する必要があります。例:

  • クラスには多くの学生がいます。
  • 学生はクラスに属しています。

次に、それに応じて URL を作成します。お気に入り

  • GET /class --> すべてのクラスを取得
  • GET /class/{id} --> 特定のクラスを取得
  • GET /class/{id}/students --> 特定のクラスの生徒を取得
  • GET /student --> すべての生徒を取得
  • GET /student/{id} --> 特定の生徒を取得

URL 設計に関する素敵な記事はこちら

于 2012-04-12T06:34:01.397 に答える