我如何配置REST uri来响应这个uri

时间:2012-04-11 19:42:10

标签: java rest uri jersey

使用以下uri

触发以下GET

/ 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()
      {.... 

      }


}

我的问题是我如何调整上面的类(路径中需要什么),以便用uris触发MyMethod

/ PathA / SomePathA /测试

/ PathA / SomePathA / SomePathB /测试

我尝试过像下面这样的事情,但它不起作用

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

关于我如何使这项工作或我所缺少的任何建议?

1 个答案:

答案 0 :(得分:0)

首先,从另一个资源调用一个资源对于RESTful架构来说是错误的方法。 其次,你提出的问题是不可能的。

相反,您应该确定资源之间的关系。例如:

  • 班级有很多学生。
  • 学生属于班级。

然后相应地形成您的网址。像

  • GET / class - >获取所有课程
  • GET / class / {id} - >获得特定课程
  • GET / class / {id} / students - >获得特定班级的学生
  • GET /学生 - >让所有学生
  • GET / student / {id} - >得到一名学生

Here is nice article on URL design