Spring boot 如何基于自定义注释创建注释/描述以招摇过市
我有一个Springboot Rest应用程序,其中有自动转换API和参数的注释 我有一个自定义注释,其中包括一些注释,如何在OpenAPI3中生成这些注释到我的招摇过市页面Spring boot 如何基于自定义注释创建注释/描述以招摇过市,spring-boot,swagger,swagger-ui,openapi,springdoc-openapi-ui,Spring Boot,Swagger,Swagger Ui,Openapi,Springdoc Openapi Ui,我有一个Springboot Rest应用程序,其中有自动转换API和参数的注释 我有一个自定义注释,其中包括一些注释,如何在OpenAPI3中生成这些注释到我的招摇过市页面 Ex: @RestController Class Controller { @GetMapping(/test/result/) @CustomAnnotation(value = "This description should come in swagger") void method() {
Ex:
@RestController
Class Controller {
@GetMapping(/test/result/)
@CustomAnnotation(value = "This description should come in swagger")
void method() {
}
}
SpringDoc允许您通过实现自己的定制器bean来定制生成的OpenAPI规范 可用于自定义的自定义程序接口的列表,但最可用的是
操作自定义程序
,参数自定义程序
,以及属性自定义程序
下面是针对您的用例的Operation Customizer示例
@Component
public class OperationCustomizer implements org.springdoc.core.customizers.OperationCustomizer {
@Override
public Operation customize(Operation operation, HandlerMethod handlerMethod) {
CustomAnnotation annotation = handlerMethod.getMethodAnnotation(CustomAnnotation.class);
if (annotation != null) {
operation.description(annotation.value());
}
return operation;
}
}
您可以找到使用自定义注释和自定义项的项目示例
基于@NonNull注释修改生成的规范的项目示例