RestEasy TJWS基本路径

时间:2013-11-15 02:39:47

标签: java jax-rs resteasy tjws

我正在使用JBoss RestEasy的嵌入式TJWS创建一个嵌入式服务器。有限的文档是不准确的,但我能够使用测试JAX-RS资源创建服务器实例:

@Path("test")
public class TestResource {
  public static void main(String[] args) throws Exception {
    TJWSEmbeddedJaxrsServer tjws = new TJWSEmbeddedJaxrsServer();
    tjws.setPort(8080);
    tjws.start();
    tjws.getDeployment().getRegistry().addPerRequestResource(TestResource.class);
  }
  ...

这样我就可以浏览http://localhost:8080/test来测试GET方法实现(此处未显示)。

但是如何指定嵌入式服务器应该安装在其他基本路径上?例如,如何将测试资源挂载到http://localhost:8080/example/test?当然,我可以将其硬编码到@Path标识中,但基本路径不应该是资源的一部分 - 我应该能够在任何基本路径的J2EE服务器中重新部署此资源类。 / p>

我猜我还没有找到类似tjws.getDeployment().setBasePath("example")的东西。 (如果有人对此有一些深入的文档,请告诉我!)提前致谢。

1 个答案:

答案 0 :(得分:0)

到目前为止,我发现我可以通过在向服务器添加资源时指定前缀来模拟这一点:

tjws.getDeployment().getRegistry().addPerRequestResource(TestResource.class, "example");

这与我正在寻找的不完全相同,但它允许我以http://localhost:8080/example/test访问资源,而不必强制在资源定义中指示此基本路径。