2016-10-07 6 views
3

ich Prahlerei in mein Projekt mitSwagger-ui zeigt keine api Details

<dependency> 
    <groupId>io.springfox</groupId> 
    <artifactId>springfox-swagger2</artifactId> 
    <version>2.4.0</version> 
</dependency> 

erfolgreich integriert haben, kann ich jetzt die URL http://localhost:8080/myApp/v2/api-docs treffen und sehen die json kam mein REST api beschreibt. z.B.

{ ? 
    "swagger":"2.0", 
    "info":{ ? 
     "description":"Api Documentation", 
     "version":"1.0", 
     "title":"Api Documentation", 
     "termsOfService":"urn:tos", 
     "contact":{ ? 

     }, 
     "license":{ ? 
     "name":"Apache 2.0", 
     "url":"http://www.apache.org/licenses/LICENSE-2.0" 
     } 
    }, 
    "host":"localhost:8080", 
    "basePath":"/myApp", 
    "tags":[ ? 
     { ? 
     "name":"staff-controller", 
     "description":"Staff Controller" 
     }, 
     { ? 
     "name":"data-controller", 
     "description":"Data Controller" 
     }, 
     { ? 
     "name":"master-controller", 
     "description":"Master Controller" 
     }, 
     { ? 
     "name":"user-manager-controller", 
     "description":"User Manager Controller" 
     }, 
     { ? 
     "name":"client-controller", 
     "description":"Client Controller" 
     }, 
     { ? 
     "name":"request-controller", 
     "description":"Request Controller" 
     } 
    ], 

Ich zog dann in die Prahlerei-ui Abhängigkeit

<dependency> 
    <groupId>io.springfox</groupId> 
    <artifactId>springfox-swagger-ui</artifactId> 
    <version>2.4.0</version> 
</dependency> 

ich eine SwaggerConfig Bohne

@Configuration 
@EnableSwagger2 
public class SwaggerConfig { 

    @Bean 
    public Docket api() { 
     return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any()).paths(PathSelectors.any()) 
      .build(); 
    } 
} 
erstellt

und WebMVCConfig

@EnableWebMvc 
public class WebMVCConfig extends WebMvcConfigurerAdapter { 

    @Override 
    public void addResourceHandlers(final ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); 
     registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); 
    } 

} 

Jedoch, wenn ich zu navigieren http://localhost:8080/myApp/swagger-ui.html Ich sehe den Swagger-Header, aber ohne Informationen aufgefüllt. Screenshot

Gibt es noch etwas, das ich konfigurieren muss? Braucht der Swagger-u einen Pfad zur Wurzel meines Projekts oder ähnliches?

Mein web.xml hat Sicherheit konfiguriert haben (obwohl ich habe versucht, dies ohne Einfluss auf das Abschalten)

<servlet> 
    <servlet-name>myApp</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value> 
       classpath:spring/application.xml 
      </param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>myApp</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping> 

<filter> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 
+0

Auch ich bin mit genau dem gleichen Problem konfrontiert. Kann mir bitte jemand helfen! –

Antwort

0

die richtige URL für Prahlerei-ui.html bei http://localhost:8080/swagger-ui.html auf Ihrer Konfiguration basiert.

+0

Nein, die URL http: // localhost: 8080/myApp/swagger-ui.html ist korrekt. Wie gesagt, ich sehe das grüne Swagger-Interface. Ich sehe nur keine der Felder bevölkert, und keine Details meiner API. – Craig

+0

Ich habe etwas gesehen, was darauf hindeutet, dass es ein Problem mit swagger-ui und Internet Explorer gibt, das in Versionen nach 2.4 gelöst wurde. Also sobald ich kann werde ich auf 2.5 upgraden (neue Version muss von der Arbeit gelöscht werden!) Und melde mich zurück – Craig

+0

Eigentlich 2.6.0 ist die neueste –