2016-06-28 36 views
7

在Swagger中,@Api註釋的description已棄用。Api annotaion的描述不贊成

是否有更新的方式提供描述?

+0

您指的是哪個版本? – Jens

+0

https://github.com/swagger-api/swagger-core/wiki/Annotations-1.5.X或者http://docs.swagger.io/swagger-core/current/apidocs/index.html?io/ swagger/annotations/Api.html可能有幫助 –

+0

@Jens我正在使用2.4.0版本(springfox) –

回答

0

它被棄用的原因是之前的Swagger版本(1.x)使用​​@Api描述註釋來分組操作。

在Swagger 2.0規範中,創建了tags的概念,並使其成爲更靈活的分組機制。爲了符合API,description字段被保留,因此升級將很容易,但添加說明的正確方法是通過tags屬性,該屬性應引用@Tag註釋。 @Tag允許您提供說明和外部鏈接等。

0

我找到了我的Spring Boot應用程序的解決方案。首先,使用tags方法在Docket指定標籤定義:

@Configuration 
@EnableSwagger2 
public class SwaggerConfig { 

    @Bean 
    public Docket productApi() { 
     return new Docket(DocumentationType.SWAGGER_2).select() 
       .apis(RequestHandlerSelectors.basePackage("my.package")).build() 
       .apiInfo(apiInfo()) 
       .tags(new Tag("tag1", "Tag 1 description."), 
         new Tag("tag2", "Tag 2 description."), 
         new Tag("tag2", "Tag 3 description.")); 
    } 

    private ApiInfo apiInfo() { 
     return new ApiInfoBuilder().title("My API").version("1.0.0").build(); 
    } 
} 

後,RestController正好與你的標籤中的一個(或多個)添加@Api註解。例如:

@Api(tags = { "tag1" }) 
@RestController 
@RequestMapping("tag1Domain") 
public class Tag1RestController { ... }