使用单泽西REST类用于多个PATH

时间:2014-02-24 06:17:26

标签: rest jersey jax-rs jersey-1.0

我已经开始使用JAX-RS开发REST服务。使用Jersey非常简单,但是我使用Spring MVC和Jersey REST类遇到的一个区别是,Spring支持必须忽略Root Path元素并在Method Level上有单独的路径映射。因此,如果有上传/下载功能,我可能不希望有一个上传一个类和一个下载,泽西岛要求我现在做,因为在类级别上只能有一个根路径,如下所示:

@Path("/uploads")
public class FileDownloadController {
......
}

如果我在类级别忽略了根级别@Path,那么在启动服务器时Jersey不会识别我的类。这就是我想要实现的目标:

public class FileProcessController {

   @Path("/uploads")
   public Response uploadFile(...) {
       ......
   }

   @Path("/downloads")
   public Response downloadFile(...) {
      ......
   }
}

任何线索都将受到赞赏。

由于

1 个答案:

答案 0 :(得分:9)

不确定我是否正确理解了该问题,但以下内容将在“泽西根”中创建两个端点/uploads/downloads。您将能够在根目录中指定其他方法;所有这些都在同一个班级。

@Path("/")  
public class FileProcessController {

   @Path("uploads")
   public Response uploadFile(...) {
       ...
   }

   @Path("downloads")
   public Response downloadFile(...) {
      ...
   }

}