我有一个使用Spring Boot和Jersey的项目设置,我需要提供静态内容。与其他类似问题的主要区别在于" mywebsite.com /"必须是泽西岛资源。这是我目前的JerseyConfig:
@ApplicationPath("/")
@Configuration
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
packages("com.mywebsite.services.rest",
"com.mywebsite.services.publication");
property(ServletProperties.FILTER_FORWARD_ON_404, true);
}
}
我的出版资源:
@Component
@Path("/")
@Produces(MediaType.TEXT_HTML)
public class PublicacionResource {
@GET
public Template index() throws Throwable {
return generateTemplateWithParameters("instalaciones", null, null);
}
...
}
泽西岛似乎没有转发404请求,因为我无法访问静态内容。
答案 0 :(得分:0)
在generateTemplateWithParameters中抛出异常并通过ExceptionMapper转发它
@Provider
public class MyExceptionProvider implements ExceptionMapper<MyException> {
@Override
public Response toResponse(final MyException exception) {
return Response.status(Response.Status.NOT_FOUND).build();
}
}
别忘了在Jersey的ResourceConfig中注册:
register(MyExceptionProvider.class);