2017-02-24 9 views
1

私は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

はい、 'spring.jersey.type = filter'を設定しました –

+0

_"他の同様の質問との主な違いは、 "mywebsite.com/"はジャージリソースでなければならないということです。 " '/'リソース、それは動作しますか? –

答えて

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); 
関連する問題