我正在使用带有Java Maven插件的开放式API生成器
当我构建项目时,它生成了两个方法,一个带有注解,另一个供我们重写。为什么不能是一个单独的方法呢?是不是有什么配置错误?
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>${openapi-generator-maven-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/openapi.yaml</inputSpec>
<generatorName>spring</generatorName>
<apiPackage>club.allin.api</apiPackage>
<modelPackage>club.allin.models</modelPackage>
<skipValidateSpec>false</skipValidateSpec>
<strictSpec>true</strictSpec>
<generateApiDocumentation>true</generateApiDocumentation>
<removeOperationIdPrefix>true</removeOperationIdPrefix>
<configOptions>
<useTags>true</useTags>
<delegatePattern>true</delegatePattern>
<interfaceOnly>true</interfaceOnly>
<removeOperationIdPrefix>true</removeOperationIdPrefix>
</configOptions>
</configuration>
</execution>
</executions>
</plugin>
它会产生类似的东西
@GetMapping
default ResponseEntity<ResponseObject> _getSpendings(){
return getSpendings();
}
//Override this method
default ResponseEntity<ResponseObject> getSpendings(){
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
}
为什么会生成两个方法?我可以配置为只有一个吗?
printscreen image
1条答案
按热度按时间xqkwcwgp1#
您正在设置
<delegatePattern>true</delegatePattern>
,只需将其设置为false或删除它(默认值为false),如果您不需要它,您将获得一个方法。当我尝试触发控制器方法的方面时,我遇到了委托模式的问题,它也成功了。