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

OpenApi生成器获取架构名称失败

艾国安
2023-03-14

我有openapi合同:

openapi: 3.0.1
info:
  version: 1.0.0

paths:
  /getInteractions:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: scheme/interactionsRq.json
        required: true
      responses:
        "200":
          content:
            application/json:
                schema:
                  $ref: scheme/mainRs.json

在此结构中:

-resources
--GetInteractionController.yaml
--scheme
----interactionsRq.json
----interactionsRs.json
----mainRs.json

在主s.json我有一些参考另一个json这样:

  "resultApi": {
  "title": "result",
  "type": "object",
  "properties": {
    "interactionList": {
      "type": "array",
      "minItems": 0,
      "maxItems": 100,
      "items": {
        "$ref": "interactionsRs.json#/definitions/interactionApi"
      }
    }
  }

当我尝试使用openapi-Generer-maven-plugin打包它时:

<plugin>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator-maven-plugin</artifactId>
    <version>5.3.1</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>${project.basedir}/src/main/resources/GetInteractionController.yaml</inputSpec>
                <generatorName>spring</generatorName>
                <apiPackage>some.api.package</apiPackage>
                <modelPackage>some.dto.package</modelPackage>
                <supportingFilesToGenerate>ApiUtil.java</supportingFilesToGenerate>
                <configOptions>
                    <delegatePattern>true</delegatePattern>
                </configOptions>
            </configuration>
        </execution>
    </executions>
</plugin>

我得到一个警告和构建错误:

[WARNING] Failed to get the schema name: ./scheme/interactionsRs.json#/definitions/interactionApi

openapi可以像我一样使用ref生成代码吗?或者我需要重构json模式并删除这个ref?也许将其连接在一个文件中或类似的东西中

共有1个答案

关翰
2023-03-14

现在我明白了,这是我的JSON方案的问题,但不是openapi生成器的问题。

在JSON方案中,我使用了jsonSchema2pojo功能“CustDateTimePattern”:“yyyy-MM-dd'T'HH: mm: ssZ”,它给我一个错误。当我删除它时,一切都变得很好

 类似资料:
  • 我正在Clojure中开发一个简单的hello world web应用程序。但是,在我将模式库添加到我的项目之后,当我试图使用构建一个uberjar时,我开始出现以下错误。奇怪的是,在使用启动时,应用程序仍然通过单元测试,并且运行时没有错误。 下面是我使用schema的源文件。为了简洁起见,我省略了其余的源文件,但如果有人想查看其余的文件,请直接询问。 我已经尝试过禁用AOT编译,因为这似乎是正常

  • 这个命令给出了运行容器ID的列表: 是否有获取容器名称列表的命令?

  • 虽然使用GraphiQL效果很好,但我的老板要求我实现一个用户界面,用户可以通过诸如checkbox、map relationships之类的UI元素检查呈现给他们的元素,并获取数据,这样做将为用户生成GraphiQL输入,调用API并将结果返回给用户。 所以,基本上这涉及到两代人。从GraphQL模式生成用户界面,并从用户的选择生成GraphQL输入查询。 我搜索了一下,但没有找到任何工具已经做

  • 问题内容: 当通过Web挂钩发出请求时,我正在使用Jenkins GitHub请求请求构建器插件来运行我的单元测试。对于构建步骤,我需要知道要合并到其中的分支的名称(例如,如果将其合并到master分支中,则需要开发分支)。在Jenkins execute shell中是否可以访问此方法?谢谢, 问题答案: 您的链接有答案: 该插件提供了一些非常有用的环境变量。 ghprbActualCommit

  • **代码:(类名已重命名)** 两个版本中的CheeseDTO YAML: 使用springdoc-openapi-ui 1.3.9,我的yaml是这样生成的: 昂首阔步3注释: OpenAPi生成器maven插件 有没有办法用springdoc-openapi-ui>1.4.0生成?我必须更改我的大摇大摆的注释或更改我的java生成器吗?