对多路径使用单个Jersey REST类

对多路径使用单个Jersey REST类,rest,jersey,jax-rs,jersey-1.0,Rest,Jersey,Jax Rs,Jersey 1.0,我已经开始使用JAX-RS开发REST服务。使用Jersey非常简单,但是我在使用Spring MVC和Jersey REST类时遇到的一个区别是,Spring支持必须忽略根路径元素,并且在方法级别具有单独的路径映射。因此,如果有上载/下载功能,我可能不希望有两个类,一个是上载,另一个是下载,Jersey要求我现在这样做,因为类级别上可能只有一个根路径,如下所示: @Path("/uploads") public class FileDownloadController { ...... }

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

@Path("/uploads")
public class FileDownloadController {
......
}
如果我忽略根级别@Path,即在类级别,则在启动服务器时Jersey不会识别我的类。以下是我想要实现的目标:

public class FileProcessController {

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

   @Path("/downloads")
   public Response downloadFile(...) {
      ......
   }
}
任何线索都将不胜感激


谢谢

我不确定我是否正确理解了这个问题,但是下面将在“Jersey root”中创建两个端点,分别为
/uploads
/downloads
。您可以在根目录中指定其他方法;所有这些都在同一个班级

@Path("/")  
public class FileProcessController {

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

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

}

简单的调整是使用根级路径和方法级路径。。。因此,您可以使用它们的组合作为函数的URL。我不能这样做,因为在我们的示例中,客户端有一个特定的URL,它是/services/rest作为Servlet映射,然后是/uploads或/downloads作为方法。因此,我不能要求客户机将“/file”作为基本路径,然后使用/uploads和/downloads。还有其他的想法吗?我确实提到了丹尼尔的建议。两者结合使用。“干杯”解决了这个问题:-)哦,对不起,罗扎,我没能理解。干杯我刚刚把你的答案也标上了:)太好了!!非常感谢丹尼尔!你救了我一天!:)