【问题标题】:RestEasy TJWS base pathRestEasy TJWS 基本路径
【发布时间】:2013-11-15 02:39:47
【问题描述】:

我正在使用 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 服务器中的任何基本路径中重新部署这个资源类。

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

【问题讨论】:

    标签: java jax-rs resteasy tjws


    【解决方案1】:

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

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

    这与我正在寻找的不太一样,但它确实允许我以 http://localhost:8080/example/test 的身份访问资源,而无需在资源定义中指定此基本路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-07
      • 2018-08-13
      相关资源
      最近更新 更多