当前位置: 首页 > 知识库问答 >
问题:

为什么openapi生成器maven-plugin忽略我的xml标签名称?

姬天逸
2023-03-14

我使用的是openapi生成器maven-plugin

            <groupId>org.openapitools</groupId>
            <artifactId>openapi-generator-maven-plugin</artifactId>
            <version>4.1.3</version>

使用<代码>

在我的yaml服务定义文件中,描述我的REST操作(XML消息)。我有这样一个模式:

components:
  schemas:
    LoginRequest:
      type: object
      properties:
        customerName:
          type: string
          xml:
            name: customerName
            attribute: false
            wrapped: false
        password:
          type: string
          xml:
            name: hello
            attribute: false
        user:
          type: string
          xml:
            name: user
            attribute: false
            wrapped: false
      title: request
      xml:
        name: request
        attribute: false

以及定义的服务:

paths:
  /session/login:
    post:
      tags:
        - sample-controller
      summary: login
      operationId: loginUsingPOST      
      requestBody:
        content:
          application/xml:
            schema:
              $ref: "#/components/schemas/LoginRequest"
        description: request
        required: true
      responses:
        "200":
          description: OK
          content:
            application/xml:
              schema:
                $ref: "#/components/schemas/LoginResponse"

我生成客户端代码。但是当我使用它时,发送到超文本传输协议请求的XML使用

生成器似乎没有考虑我的xml信息。


共有1个答案

司徒志
2023-03-14

例如,您需要将选项放入configOptions中

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

参考:https://github.com/OpenAPITools/openapi-generator/tree/master/modules/openapi-generator-maven-plugin#usage

 类似资料:
  • 问题内容: 这是从CruiseControl执行时得到的: 同时,从命令行启动它可以提供正确的结果。为什么要进入这个?为什么忽略了我?我该如何解决? 我不知道从CC启动when 的值是什么。我真的很想获得这些信息,但我不知道如何。CC本身是从用户开始与该用户给我(这是CentOS的5.4): 问题答案: 假设您有一台linux机器。 看一下,这是一个符号链接。查看此符号链接的目标位置(在我的情况下

  • 我的JAVA_HOME指向这个JDK的bin文件夹。我的PATH变量中也有相同的bin文件夹。 我的问题是我做错了什么?应该说开发工具包而不是运行时环境吗?

  • 选项无效。 运行生成一个war目录,其中。class文件位于目录中,它们也不会存档到目录中的jar中。产生相同的结果。 JIRA票-https://issues.apache.org/JIRA/browse/mwar-355 这就是有问题的项目:https://bitbucket.org/dmos62/raudondvaris

  • 我正在使用 https://github.com/OpenAPITools/openapi-generator 为我的应用编程接口创建一个客户端。它基本上工作正常,但是生成器创建了许多类型,这些类型封装了包括任何复杂性类型的参数,例如、、 例如 其中InlineObject11定义为 这有什么意义?为什么生成的客户端不接受流再平衡贸易文件(Stream rebalanceTradeFile),而不

  • 我有一个JPA注释实体,ID定义为使用序列自动生成的属性。但是,当我尝试用hibernate3 maven插件生成DDL时,我定义的序列不会生成,而是hibernate_sequence。 我期待的是: 在生成的DDL中。我做错了什么?hibernate3-maven-plugin版本是2.2 hibernate-entitymanager版本3.4.0.GA

  • 我正在尝试使用ZonedDateTime作为日期的类,从yaml文件生成API类。执行此操作后,我可以在配置中将生成的类OffsetDateTime成功更改为ZonedDateTime,但没有生成正确的导入语句,这会导致错误。它只导入java。时间OffsetDateTime 。是否有人知道我可以尝试什么,以便生成正确的导入? 这是我在pom中配置它的最新尝试,我正在使用io中的swagger c