2017-02-06 13 views
0

Я использую Springfox Swagger. Это то, что я вижу, когда доступ http://localhost:8088/myContextRoot/swagger-ui.html:Swagger UI весной: загружен только HTML-файл, но не ресурсы

enter image description here

Т.е. только HTML файл swagger-ui.html успешно загружен, другие вещи (JS, CSS и т.д.), которые должны быть в http://localhost:8088/myContextRoot/webjars/springfox-swagger-ui возвращается 404.

То, что я пытался до сих пор:

web.xml

<servlet-mapping> 
    <servlet-name>default</servlet-name> 
    <url-pattern>/swagger-ui.html</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name>default</servlet-name> 
    <url-pattern>/webjars/**</url-pattern> 
</servlet-mapping> 

ресурсы-servlet.xml

<mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/" /> 
<mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/" /> 

Java конфигурации

@Configuration 
@EnableWebSecurity 
@EnableWebMvcSecurity 
public class SecurityConfig extends WebSecurityConfigurerAdapter { 
     @Override 
     protected void configure(HttpSecurity http) throws Exception { 
       http 
       .authorizeRequests() 
       .antMatchers("/v2/api-docs", "/configuration/ui/**", "/swagger-resources", "/configuration/security/**", 
         "/webjars/**", "/swagger-ui.html") 
       .permitAll(); 
     } 
    } 

Версии используются:

compile "io.springfox:springfox-swagger2:2.6.1" 
compile "io.springfox:springfox-swagger-ui:2.6.1" 

ответ

2

Если вы посмотрите в этот класс springfox.documentation.swagger.web.ApiResourceController, вы можете обнаружить, что отображения как /configuration/ui и /configuration/security уже не существует (в io.springfox:springfox-swagger-common:2.6.1), потому что они изменили на /swagger-resources/configuration/ui и /swagger-resources/configuration/security соответственно согласно картированию Request Spring

Попробуйте использовать эту Java Config:

@Configuration 
@EnableWebSecurity 
@EnableWebMvcSecurity 
public class SecurityConfig extends WebSecurityConfigurerAdapter { 
    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
      .authorizeRequests() 
      .antMatchers("/v2/api-docs", "/swagger-resources/**", "/webjars/**", "/swagger-ui.html") 
      .permitAll(); 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^