小编Nat*_*iga的帖子

如何使用映射到根上下文的其余 API 来提供来自 CXF/JAX-RS 的静态内容?

我有一个使用 CXF 来实现 JAX-RS 的 REST API,其中 REST 端点直接位于根上下文上。

例如,如果我的根上下文是 localhost:8080/myservice

我的端点是:
localhost:8080/myservice/resource1
localhost:8080/myservice/resource2

但我想提供这样的静态内容:
localhost:8080/myservice/docs/swagger.json

在我的 web.xml 中我想做这样的事情:

<servlet-mapping>
  <servlet-name>CXFServlet</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name>default</servlet-name>
  <url-pattern>/docs/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

但这不起作用,CXFServlet 会获取所有请求,并且我找不到配置 CXF / JAX-RS 来服务我的静态内容而不包含新库和创建字节流等的方法,这是我不想做的做。我只想映射到默认的 servlet。

CXF 文档不容易理解,我尝试执行以下操作但没有成功:

<servlet>
  <servlet-name>CXFServlet</servlet-name>
  <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  <init-param>
    <param-name>static-resources-list</param-name>
    <param-value>
      /docs/(\S)+\.html
      /docs/(\S)+\.json
    </param-value>
  </init-param>
</servlet>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java rest web.xml cxf jax-rs

3
推荐指数
1
解决办法
2466
查看次数

标签 统计

cxf ×1

java ×1

jax-rs ×1

rest ×1

web.xml ×1