https://www.dariawan.com/tutorials/spring/documenting-spring-boot-rest-api-springdoc-openapi-3/
これらをフォローしようとしています
次のような注釈をどのように処理しますか
@ApiModel(value = "Response container")
@ApiModelProperty(value = "Iventory response", required = true)
Swagger2アノテーションをSwagger3に更新できます(springdocでサポート)。
役立つ正規表現の記事: https://www.david-merrick.com/2017/11/15/useful-regexes-for-transitioning-swagger-2-0-to-3-0-annotations/
@ApiModel
と@ApiModelProperty
の両方を@Schema
(io.swagger.v3.oas.annotations.media.Schema
)に置き換える必要があります
springdoc-openapi-ui
_依存関係を追加します。_ <dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>@springdoc.version@</version>
</dependency>
_
Swagger 2アノテーションをswagger 3アノテーションに置き換えます(これは_springdoc-openapi-ui
_依存関係に既に含まれています)。 swagger 3アノテーションのパッケージは_io.swagger.v3.oas.annotations
_です。
@ApiParam
_-> _@Parameter
_@ApiOperation
_-> _@Operation
_@Api
_-> _@Tag
_@ApiImplicitParams
_-> _@Parameters
_@ApiImplicitParam
_-> _@Parameter
_@ApiIgnore
_-> @Parameter(hidden = true)
または@Operation(hidden = true)
または_@Hidden
_@ApiModel
_-> _@Schema
_@ApiModelProperty
_-> _@Schema
_このステップはオプションです:multipleDocket
Beanがある場合のみ、それらをGroupedOpenApi
Beanに置き換えます。
前:
_ @Bean
public Docket publicApi() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("org.github.springshop.web.public"))
.paths(PathSelectors.regex("/public.*"))
.build()
.groupName("springshop-public")
.apiInfo(apiInfo());
}
@Bean
public Docket adminApi() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("org.github.springshop.web.admin"))
.paths(PathSelectors.regex("/admin.*"))
.build()
.groupName("springshop-admin")
.apiInfo(apiInfo());
}
_
今:
_ @Bean
public GroupedOpenApi publicApi() {
return GroupedOpenApi.builder()
.setGroup("springshop-public")
.pathsToMatch("/public/**")
.build();
}
@Bean
public GroupedOpenApi adminApi() {
return GroupedOpenApi.builder()
.setGroup("springshop-admin")
.pathsToMatch("/admin/**")
.build();
}
_
1つしかない場合Docket
-それを削除し、代わりにプロパティを_application.properties
_に追加します。
_springdoc.packagesToScan=package1, package2
springdoc.pathsToMatch=/v1, /api/balance/**
_
OpenAPI
タイプのBeanを追加します。例を参照してください:_ @Bean
public OpenAPI springShopOpenAPI() {
return new OpenAPI()
.info(new Info().title("SpringShop API")
.description("Spring shop sample application")
.version("v0.0.1")
.license(new License().name("Apache 2.0").url("http://springdoc.org")))
.externalDocs(new ExternalDocumentation()
.description("SpringShop Wiki Documentation")
.url("https://springshop.wiki.github.org/docs"));
}
_
Swagger-uiがプロキシの背後で提供される場合:
Swagger UIをカスタマイズするには
ドキュメントから操作またはコントローラーを非表示にするには