OpenAPI Swagger не показывает примеры - PullRequest
0 голосов
/ 10 июня 2019

Мы используем OpenAPI и openapi-generator-maven-plugin с Spring Boot. Мы пытаемся создать пример объекта в нашем ответе. Мы следовали рекомендациям ряда различных веб-страниц, особенно этой:

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\\"}\"");

В приведенном выше коде слишком много escape-символов, не должно быть двойных escape-символов.

Вот конфигурация плагина из нашего 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>

Мы перепробовали все различные комбинации цитирования и отступа, но безрезультатно. Пожалуйста, помогите нам!

...