2017-02-20 23 views
0

Я хочу использовать Swagger 2.0 с моей веб-службой Spring Boot RESTful для создания документации. Я искал довольно много для ответа на это. В основном у меня есть проект Spring Boot с набором контроллеров, и я хочу документировать API. У меня есть следующие настройки зависимостей в моем POM-файле.Документация API Swagger REST с загрузкой Spring

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

Это мой класс конфигурации Сваггер с @Configuration и @ EnableSwagger2:

 @Configuration 
     @EnableSwagger2 
public class SwaggerConfig { 

    @Bean 
    public Docket api(){ 
     return new Docket(DocumentationType.SWAGGER_2) 
      .select() 
      .apis(RequestHandlerSelectors.any()) 
      .paths(PathSelectors.regex("/api/.*")) 
      .build() 
      .apiInfo(apiInfo()); 
    } 

    private ApiInfo apiInfo() { 
     return new ApiInfoBuilder() 
      .title("My application title") 
      .description("This is a test of documenting EST API's") 
      .version("V1.2") 
      .termsOfServiceUrl("http://terms-of-services.url") 
      .license("LICENSE") 
      .licenseUrl("http://url-to-license.com") 
      .build(); 
    } 

} 

Из того, что я собрал в чтении несколько других ответов здесь, что в данный момент я должен быть в состоянии см. что-то по URL-адресу, например http://myapp/v2/api-docs или, альтернативно, http://localhost:8080/myapp/api-docs. Я предположил, что часть «myapp» приведенного выше URL-адреса относится к имени класса, в котором находится моя основная (это правильно)? Также я пробовал это с портом 8080 и портом 80, а в нижней строке видно, что ничего, кроме сайта, невозможно достичь. Я посмотрел ответы, полученные here и here, однако я не добился успеха. Любая помощь будет высоко оценена, спасибо заранее.

+0

Попробуйте это: HTTP: // локальный: 8080/myapp/swagger-ui.html –

ответ

0

Как вы можете видеть на следующей документации: https://springfox.github.io/springfox/docs/snapshot/#springfox-swagger-ui

Конечная точка теперь на развязность-ui.html, для вашего случая, то это будет http://localhost:8080/myapp/swagger-ui.html

+0

Спасибо, дополнительный вопрос, часть «myapp» URL - это имя класса, в котором находится моя «основная»? – TKPhillyBurb

+0

Я даже не вижу, как порт 8080 используется при просмотре netstat. – TKPhillyBurb

+0

http://stackoverflow.com/questions/24452072/how-do-i-choose-the-url-for-my-spring-boot-webapp – fbak