最近在采用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
那么我们在访问我们的地址时默认会在路径前加上rest,之后就可以根据静态资源路径来访问静态资源。而其他Restful请求的根路径就成为host:port/rest.