openapi-генератор с подпружиненной загрузкой, удалить сгенерированные значения - PullRequest
0 голосов
/ 25 марта 2020

Я использую openapi-генератор для gradle.

Конфиг:

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 как параметра метода в сгенерированных интерфейсах.

Факт:

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 , но, к сожалению, в нем не было много конфигурация для меня и генерирует много ненужных классов.

1 Ответ

0 голосов
/ 25 марта 2020

Вы хотите установить reactive на false:

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

реактивный

Завершение ответов в типах Mono / Flux Reactor (только с пружинной загрузкой)

...