java - 带有 spring-boot 的 openapi-generator,删除生成的值

标签 java spring-boot gradle openapi-generator

我正在为 gradle 使用 openapi-generator。

配置:

task generateSalesOffersApi(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask){
    generatorName = "spring"
    inputSpec = "${projectDir}/src/main/resources/my-contract.yaml".toString()
    outputDir = "${buildDir}/generated".toString()
    additionalProperties = [
            interfaceOnly: 'true',
            reactive: 'true',
            skipDefaultInterface: "true",
            implicitHeaders: "true",
    ]

    configOptions = [
            dateLibrary: 'java8',
            swaggerDocketConfig: "true",
            useTags:  'false',
            apiPackage: 'com.data.api',
            modelPackage: 'com.data.model',
    ]

    systemProperties = [
            apis: "",
            models: "",
            hideGenerationTimestamp: "true"
    ]

模型按预期生成。大部分也是 API 部分。

但是如何摆脱 ResponseEntity 包装和 ServerWebExchange 作为生成接口(interface)中的方法参数。

实际:

Mono<ResponseEntity<MyPojo>> getMyPojo(@ApiParam(value = "Param 1",required=true) @PathVariable("param1") String param1, ServerWebExchange exchange);

预期:

Mono<MyPojo> getMyPojo(@ApiParam(value = "Param 1",required=true) @PathVariable("param1") String param1);

我尝试使用 java 生成器,您可以在其中将库设置为 webclient,但不幸的是,这对我来说缺少很多配置,并且生成了许多不必要的类。

最佳答案

您需要将 reactive 设置为 false:

https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/spring.md

reactive

wrap responses in Mono/Flux Reactor types (spring-boot only)

关于java - 带有 spring-boot 的 openapi-generator,删除生成的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60849109/

相关文章:

Java:抛出异常后如何继续读取文件

java - 没有 setter 的 JPA 2.0 持久属性

gradle - 将 GRADLE 更新到 4+ 后的 Android Studio 3.0 NoClassDefFoundError

java - Android 9.0 中的 ArrayIndexOutOfBoundsException

java - 使用jquery在jsp页面中接受http session 请求参数

java - org.hibernate.dialect.PostgresPlusDialect 与 org.hibernate.dialect.PostgreSQL9Dialect 之间有什么区别?

testing - SpringBootTest中如何覆盖应用Bean

java - 如何在 ConstraintValidator 中使用 @Autowired?

plugins - 如何查看Gradle Jetty插件中使用的Jetty版本

java - 发现多个文件具有独立于操作系统的路径 'convertGermanToBoolean.properties'