2016-06-28 80 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 { ... }