【问题标题】:Swagger-codegen 3.0.9, fails to generate api client for openapi 3.0.1Swagger-codegen 3.0.9,无法为 openapi 3.0.1 生成 api 客户端
【发布时间】:2023-01-10 21:40:39
【问题描述】:

鉴于此 yaml 文件:


get:
  security:
    - bearerAuth: []
  tags:
    - lisense_key
  summary: Dummy Name
  description: Dummy Name by given Dummy Name
  operationId: getLicenseKey
  parameters:
    - name: Dummy Name
      in: query
      description: Dummy Name Dummy Name
      required: true
      schema:
        type: string
  responses:
    '200':
      description: Successful operation
      content:
        'application/json':
          schema:
            $ref: './types/Dummy_Name.yaml'
    '400':
      description: Invalid parameters
      content:
        'application/json':
          schema:
            $ref: './responses/400.yaml'
    '404':
      description: Dummy Name not found
      content:
        'application/json':
          schema:
            $ref: './responses/404.yaml'
    '500':
      description: Internal error
      content:
        'application/json':
          schema:
            $ref: './responses/500.yaml'
post:
  security:
      - bearerAuth: []
  tags:
    - lisense_key
  summary: Random
  description: Random
  operationId: DummyOp
  requestBody:
    required: true
    content:
      application/json:
        schema:
          type: object
          properties:
            Dummy Name:
              type: string
              description: Dummy Name Dummy Name
              required: false
            metadata:
              type: object
              description: Dummy Name metadata
              properties: {}
              required: true
            expire_time:
              type: integer
              description: Dummy Name expire time in seconds
              format: int64
              required: false
  responses:
    '200':
      description: Successful operation
      content:
        'application/json':
          schema:
            type: object
            properties:
              result:
                type: string
                enum: [OK]
              Dummy Name:
                type: string
    '400':
      description: Invalid parameters
      content:
        'application/json':
          schema:
            $ref: './responses/400.yaml'
    '500':
      description: Internal error
      content:
        'application/json':
          schema:
            $ref: './responses/500.yaml'
delete:
  security:
    - bearerAuth: []
  tags:
    - lisense_key
  summary: Dummy Name
  description: Dummy Name
  operationId: del
  requestBody:
    required: true
    content:
      application/json:
        schema:
          type: object
          properties:
            Dummy Name:
              type: string
              description: Dummy Name Dummy Name
              required: true
  responses:
    '200':
      description: Successful operation
      content:
        'application/json':
          schema:
            $ref: './responses/200.yaml'
    '500':
      description: Internal error
      content:
        'application/json':
          schema:
            $ref: './responses/500.yaml'

当使用 java -jar swagger-codegen3.0.9 generate -i main.yaml -l python 生成时,它会引发:


com.fasterxml.jackson.databind.JsonMappingException: Cannot deserialize instance of `java.util.ArrayList` out of VALUE_FALSE token
 at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: io.swagger.v3.oas.models.media.StringSchema["required"]) (through reference chain: io.swagger.v3.oas.models.media.ObjectSchema["properties"]->java.util.LinkedHashMap["token"]) (through reference chain: io.swagger.v3.oas.models.PathItem["post"]->io.swagger.v3.oas.models.Operation["requestBody"]->io.swagger.v3.oas.models.parameters.RequestBody["content"]->io.swagger.v3.oas.models.media.Content["application/json"]->io.swagger.v3.oas.models.media.MediaType["schema"])
    


不知道为什么会这样,有什么问题吗? 我自己无法识别和解决问题,真的无法理解这个堆栈跟踪

随机文本,以便我可以发布:Lorem ipsum dolor sit amet, consectetur adipiscing elit。 Nullam vel dui congue, eleifend ex in, sagittis erat. Aliquam odio turpis,facilisis eu hendrerit non,viverra vel elit。 Carabitur laoreet velit mauris。 Sed eu quam ultrices,malesuada lectus finibus,tincidunt arcu。 Phasellus elementum mauris ut ligula dignissim condimentum。在 imperdiet sed nibh malesuada eleifend。 Praesent egestas lacinia nunc id volutpat。 Proin egestas vel sem id eleifend。 Nulla vitae ligula eget ex molestie 格言。

【问题讨论】:

    标签: python openapi swagger-codegen openapi-generator


    【解决方案1】:

    问题出在必填字段上,已根据以下建议修复它: How to specify if a field is optional or required in OpenAPI/Swagger?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-05
      • 2023-03-04
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      • 2018-08-29
      • 2018-12-24
      • 1970-01-01
      相关资源
      最近更新 更多