2017-02-24 102 views
1

我有一個項目設置與春季啓動和澤西島,我需要服務靜態內容。與其他類似問題的主要區別在於「mywebsite.com/」必須是Jersey資源。這是我目前JerseyConfig:Spring Boot澤西靜態內容與資源在「/」

@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

是的,我設置了'spring.jersey.type = filter' –

+0

_「與其他類似問題的主要區別在於」mywebsite.com/「必須是Jersey資源。」_ - 這是否意味着如果沒有'/'資源,它的工作原理? –

回答

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(); 
    } 
} 

不要忘了在新澤西州的ResourceConfig進行註冊:

register(MyExceptionProvider.class);