package com.qianwen.smartman.common.launch; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.service.OperationBuilderPlugin; import springfox.documentation.spi.service.contexts.OperationContext; import springfox.documentation.spi.service.contexts.RequestMappingContext; import springfox.documentation.spring.web.WebMvcRequestHandler; @Component @Order(-2147481647) /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/common/launch/SwaggerPlugin.class */ public class SwaggerPlugin implements OperationBuilderPlugin { private static final Logger log = LoggerFactory.getLogger(SwaggerPlugin.class); public void apply(OperationContext operationContext) { RequestMappingContext requestContext = (RequestMappingContext) BeanUtil.getProperty(operationContext, "requestContext"); WebMvcRequestHandler handler = (WebMvcRequestHandler) BeanUtil.getProperty(requestContext, "handler"); HandlerMethod handlerMethod = (HandlerMethod) BeanUtil.getProperty(handler, "handlerMethod"); String controllerName = handlerMethod.getBeanType().getSimpleName(); String operationNameStem = operationContext.getName(); String prefix = StrUtil.replace(controllerName, "Controller", ""); String newName = StrUtil.format("{}_{}", new Object[]{prefix, operationNameStem}); log.info("operationId:{}", newName); operationContext.operationBuilder().codegenMethodNameStem(newName); } public boolean supports(DocumentationType documentationType) { return true; } }