2015-12-01 127 views
0

嗨,我在我的spring mvc項目中有幾個REST API,我想爲每個服務創建文檔並將其存儲在文件中,以便我可以與團隊共享。 我經常讀到揚鞭或Springfox並對其進行配置的話,我加其他Api文檔與Swagger和Spring MVC

<dependency> 
    <groupId>io.springfox</groupId> 
    <artifactId>springfox-swagger2</artifactId> 
    <version>2.2.2</version> 
</dependency> 
<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-annotations</artifactId> 
    <version>2.7.0-rc1</version> 
</dependency> 
<dependency> 
    <groupId>io.springfox</groupId> 
    <artifactId>springfox-swagger-ui</artifactId> 
    <version>2.1.2</version> 
</dependency> 

和配置類:

package com.config.core; 

import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 

import springfox.documentation.builders.RequestHandlerSelectors; 
import springfox.documentation.service.ApiInfo; 
import springfox.documentation.spi.DocumentationType; 
import springfox.documentation.spring.web.plugins.Docket; 
import springfox.documentation.swagger2.annotations.EnableSwagger2; 
import static springfox.documentation.builders.PathSelectors.*; 
@Configuration 
@EnableSwagger2 
public class SwaggerConfig { 

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

    private ApiInfo apiInfo() { 
     ApiInfo apiInfo = new ApiInfo(
      "My Project's REST API", 
      "1.0", 
      "This is a description of your API.", 
      "API TOS", 
      "[email protected]", 
      "API License", 
      "API License URL" 
     ); 
     return apiInfo; 
    } 
} 

但招搖,ui.html不存在,我有:

> /v2/api-docs 
> /configuration/security 
> /configuration/ui 
> /swagger-resources 

那麼,如何查看我的Web服務器文檔並將其保存在文件中?當用戶不得不使用web平臺時,我希望避免在url上顯示。謝謝

+0

您是否在端點中使用了swagger註釋。 – shazin

+0

我在我的控制器中添加了'@Api'和'@ApiOperation',但是swagger-ui.html返回404 – luca

+0

嘗試使用http:// localhost:port/yourapp/swagger/index.html – shazin

回答

0

springfox-swagger-ui是一個webjar,嵌入到jar中的資源需要通過資源處理程序註冊。

您需要添加資源處理程序as demonstrated in the spring mvc demo。這樣,應用程序就可以呈現swagger ui資產。