Spring Boot Jersey静态内容,资源位于" /"

时间:2017-02-24 13:08:45

标签: java spring-boot servlet-filters jersey-2.0

我有一个使用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请求,因为我无法访问静态内容。

1 个答案:

答案 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);