0

我们在 Spring Boot 中使用 OpenAPI 和 openapi-generator-maven-plugin。我们正在尝试在我们的响应中创建一个示例对象。我们遵循了许多不同网页的建议,尤其是这个:

https://swagger.io/docs/specification/adding-examples/

但是无论我们尝试什么,我们要么无法显示示例数据,要么它给我们一个编译错误。

例如,这似乎是我们应该使用的,从我们看到的文档中:

    patch:
      tags:
        - Color
      operationId: testing
      description: test
      responses:
        '200':
          description: Return existing colors in a season
          content:
            application/json:
              schema:
                type: object
                properties:
                  testName:
                    type: string
                example:
                  testname: amy

但这会在生成的 API 代码中导致编译错误:

ApiUtil.setExampleResponse(request, "application/json", "\"{\\"testname\\":\\"amy\\"}\"");

上面的代码中转义字符太多,不应该有双重转义。

这是来自我们 POM 的插件配置:

<plugin>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator-maven-plugin</artifactId>
    <version>4.0.0</version>
    <executions>
        <execution>
            <id>FlexPLM-ACL</id>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>${project.basedir}/apis/flexplm-acl.yml</inputSpec>
                <generatorName>spring</generatorName>
                <apiPackage>com.dcsg.pdcomm.flexplmacl.api</apiPackage>
                <!-- Both of these APIs use the exact same DTOs, so we have put them into the same package -->
                <modelPackage>com.dcsg.pdcomm.flexplm.dto</modelPackage>
                <modelNameSuffix>DTO</modelNameSuffix>
                <supportingFilesToGenerate>ApiUtil.java</supportingFilesToGenerate>
                <configOptions>
                    <library>spring-boot</library>
                    <dateLibrary>java8</dateLibrary>
                    <java8>true</java8>
                    <interfaceOnly>true</interfaceOnly>
                </configOptions>
                <output>${project.build.directory}/generated-sources</output>
            </configuration>
        </execution>
    </executions>
</plugin>

我们尝试了所有不同的引用和缩进组合,但无济于事。请帮助我们!

4

0 回答 0