最近在采用SpringBoot集成Jersey来构建Restful服务时,遇到无法访问静态资源的问题。经过排查发现是Jersey的ApplicationPath默认为"/",这样一来就会拦截所有的请求而导致无法访问静态资源。
在SpringBoot的参考文档可以看到如下有关Jersey的配置:
# JERSEY (
JerseyProperties)
spring.jersey.application-path=
# Path that serves as the base URI for the application. Overrides the
value of "@ApplicationPath" if specified.
spring.jersey.filter.order=0
# Jersey filter chain order.
spring.jersey.init.*=
# Init parameters to pass to Jersey via the servlet or filter.
spring.jersey.servlet.load-on-startup=-1
# Load on startup priority of the Jersey servlet.
spring.jersey.type=servlet
# Jersey integration type.
在SpringBoot的配置文件application.properties加入:
spring.jersey.application-path=rest
之后就可以根据静态资源路径来访问静态资源。而其他Restful请求的根路径就成为host:port/rest.