Api 注释的描述已弃用

2022-08-31 13:21:22

在 Swagger 中,@Api注释的描述元素已弃用。

荒废的。未在 1.5.X 中使用,保留用于旧版支持。

有没有更新的方法来提供描述?


答案 1

我为Spring Boot应用程序找到了两种解决方案:

1. 基于 Swagger 2

首先,使用该方法在 Bean 中指定标记定义:tagsDocket

@Configuration
@EnableSwagger2
public class Swagger2Config {
    
    public static final String TAG_1 = "tag1";

    @Bean
    public Docket productApi() {
        return new Docket(DocumentationType.SWAGGER_2).select()
                .apis(RequestHandlerSelectors.basePackage("my.package")).build()
                .tags(new Tag(TAG_1, "Tag 1 description."))
                // Other tags here...
                .apiInfo(apiInfo());
    }

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

之后,只需添加带有一个(或多个)标签的注释:RestController@Api

@Api(tags = { SwaggerConfig.TAG_1 })
@RestController
@RequestMapping("tag1-domain")
public class Tag1RestController { ... }

2. 基于 Swagger 3 (OpenAPI):

同样,使用该方法在 Bean 中指定标记定义:addTagsItemOpenAPI

@Configuration
public class OpenApiConfig {

    public static final String TAG_1 = "tag1";

    @Bean
    public OpenAPI customOpenAPI() {
        final Info info = new Info()
                .title("My API")
                .description("My API description.")
                .version("1.0.0");

        return new OpenAPI().components(new Components())
                .addTagsItem(createTag(TAG_1, "Tag 1 description."))
                // Other tags here...
                .info(info);
    }

    private Tag createTag(String name, String description) {
        final Tag tag = new Tag();
        tag.setName(name);
        tag.setDescription(description);
        return tag;
    }

}

最后,只需添加注释:RestController@Tag

@Tag(name = OpenApiConfig.TAG_1)
@RestController
@RequestMapping("tag1-domain")
public class Tag1RestController { ... }

答案 2

这是将描述添加到 Swagger API 文档以进行 Swagger v1.5 的正确方法:

@Api(tags = {"Swagger Resource"})
@SwaggerDefinition(tags = {
    @Tag(name = "Swagger Resource", description = "Write description here")
})
public class ... {
}

推荐