我试图在Sping Boot 3项目中配置Swagger,我想全局设置HTTP状态码响应,而不是在每个端点上复制粘贴代码。我记得我们曾经在Swagger 2或Docket
中这样做过,但现在事情被转换为OpenAPI,我找不到这样做的方法。
可以有人请帮助我修改下面的代码,以便我添加全球响应。
@Configuration
public class OpenApiConfig {
@Bean
public OpenAPI usersMicroserviceOpenAPI() {
Server localServer = new Server()
.url("http://localhost:8080")
.description("A Server URL");
Contact contact = new Contact()
.email("[email protected]")
.name("Exampl man");
Info info = new Info()
.contact(contact)
.description("Spring Boot 3 + Open API 3")
.summary("Demo of Spring Boot 3 & Open API 3 Integration")
.title("Sample")
.version("V1.0.0")
.license(new License().name("Apache 2.0").url("http://springdoc.org"));
return new OpenAPI().info(info).
addServersItem(localServer);
}
}
字符串
我不想在每个API上面写以下内容
@ApiResponses(value = {
@ApiResponse(responseCode = "400", description = "Bad Request",
content = { @Content(mediaType = "application/json",
schema = @Schema(implementation = ErrorRes.class))}),
@ApiResponse(responseCode = "404", description = "Resource Not Found",
content = { @Content(mediaType = "application/json",
schema = @Schema(implementation = ErrorRes.class))})
})
型
我试着创建一个接口,它有上面的注解,并在每个REST控制器上实现,它确实很神奇,但它删除了默认的200响应,并根据方法的签名返回了Class对象。
1条答案
按热度按时间3pmvbmvn1#
您可以将创建
OpenApiCustomizer
bean的方法添加到OpenApiConfig
类中,如下所示。字符串
它将把API响应附加到应用程序中的所有路径。