java 如何使用openapi-generator-maven-plugin从openapi yaml文件生成代码?

8yoxcaq7  于 2023-06-28  发布在  Java
关注(0)|答案(1)|浏览(179)

我使用“openapi-generator-maven-plugin”从openapi yaml文件生成代码,代码是使用下面的配置生成的,但似乎有一些语法是错误的。

<build>
        <plugins>
            <plugin>
                <groupId>org.openapitools</groupId>
                <artifactId>openapi-generator-maven-plugin</artifactId>
                <!-- RELEASE_VERSION -->
                <version>6.6.0</version>
                <!-- /RELEASE_VERSION -->
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.basedir}/src/main/resources/member_registration.yaml</inputSpec>
                            <generatorName>java</generatorName>
                            <skipValidateSpec>true</skipValidateSpec>
                            <configOptions>
                                <sourceFolder>src/gen/java/main</sourceFolder>
                                <useTags>true</useTags>
                            </configOptions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>

请查看以下错误声明示例。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project swagger-to-code: Compilation failure: Compilation failure:
[ERROR] /C:/My Data/workspace/poc/swagger-to-code-poc/swagger-to-code/target/generated-sources/openapi/src/gen/java/main/org/openapitools/client/model/SearchUsersByUsername200Response.java:[75,35] > expected
[ERROR] /C:/My Data/workspace/poc/swagger-to-code-poc/swagger-to-code/target/generated-sources/openapi/src/gen/java/main/org/openapitools/client/model/SearchUsersByUsername200Response.java:[75,36] not a statement
[ERROR] /C:/My Data/workspace/poc/swagger-to-code-poc/swagger-to-code/target/generated-sources/openapi/src/gen/java/main/org/openapitools/client/model/SearchUsersByUsername200Response.java:[75,58] not a statement
[ERROR] /C:/My Data/workspace/poc/swagger-to-code-poc/swagger-to-code/target/generated-sources/openapi/src/gen/java/main/org/openapitools/client/model/SearchUsersByUsername200Response.java:[75,62] illegal start of expression
[ERROR] /C:/My Data/workspace/poc/swagger-to-code-poc/swagger-to-code/target/generated-sources/openapi/src/gen/java/main/org/openapitools/client/model/SearchUsersByUsername200Response.java:[75,75] not a statement[![enter image description here][1]][1]

添加了示例代码。

public void write(JsonWriter out, SearchUsersByUsername200Response value) throws IOException {
    if (value == null || value.getActualInstance() == null) {
        elementAdapter.write(out, null);
        return;
    }

    // check if the actual instance is of the type `List&lt;UserSummaryExtended&gt;`
    if (value.getActualInstance() instanceof List&lt;UserSummaryExtended&gt;) {
        JsonObject obj = adapterList&lt;UserSummaryExtended&gt;.toJsonTree((List&lt;UserSummaryExtended&gt;)value.getActualInstance()).getAsJsonObject();
        elementAdapter.write(out, obj);
        return;
    }
}
vs91vp4v

vs91vp4v1#

我用spring代替了java generatorName,这个问题就解决了。Thanks All:)

相关问题