swagger-api / swagger-api/swagger-codegen

refer to properties in $ref get Compilation error in generated class although it is valid swagger yml

Offen
#9,167 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Mustache
Sterne
17.8k
Forks
6k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

From @noha-gamal on February 12, 2019 13:56

Q&A (please complete the following information)
  • OS: [e.g. Windows 10 Enterprise]
  • Browser: [e.g. chrome]
  • Version: [e.g. 71.0.3578.98]
  • Method of installation: [use online swagger editor https://editor.swagger.io/]
  • Swagger/OpenAPI version: [e.g. Swagger 2.0, OpenAPI 3.0]
Content & configuration

Example Swagger/OpenAPI definition:

swagger: '2.0'
host: api.vodafone.com
basePath: '/{access}/eligibleProductOfferingAPI/v2'
schemes:
  - https
consumes:
  - application/json
produces:
  - application/json
info:
  title: 'Common Service Model API: EligibleProductOffering'
  version: 2.1.0
paths:
  /eligibleProductOffering:
    get:
      tags:
        - eligibleProductOffering
      description: >-
        A method that allows a consumer of the API to get-list a
        EligibleProductOffering representation.
      operationId: getList
      produces:
        - application/json
      responses:
        '204':
          description: '204, No Content.'
definitions:
  eligibleProductOfferingVBOProductOffering:
    properties:
      id:
        type: array
        minItems: 1
        items:
          $ref: '#/definitions/BasicComponents/properties/IDType'
      name:
        type: string
        description: ' The name of the instance of a business object or component.'
  BasicComponents:
    properties:
      IDType:
        type: object
        properties:
          value:
            type: string
            description: The value of the field.
          schemeID:
            type: string
          schemeName:
            type: string
          schemeAgencyName:
            type: string
        required:
          - value
Describe the bug you're encountering

Bug is in class EligibleProductOfferingVBOProductOffering.java get id attribute
private List id = null;
where class BasicComponentspropertiesIDType not found.
expected attribute id with type BasicComponentsIDType

To reproduce...

Steps to reproduce the behavior:

  1. Go to 'https://editor.swagger.io/'
  2. Paste above yml
    4.Click on Generate Server then Spring
    5.Spring-server-generated.zip downloaded, open it and go to spring-server\src\main\java\io\swagger\model\EligibleProductOfferingVBOProductOffering.java
  3. Found compilation error in class generated.
Expected behavior

expected that id attribute in EligibleProductOfferingVBOProductOffering.java be
private List id = null;
instead of
private List id = null;

Copied from original issue: swagger-api/swagger-ui#5175

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduzieren Sie das Problem unter https://editor.swagger.io/ mit der bereitgestellten Swagger 2.0 YAML-Datei und prüfen Sie anschließend die generierte Datei spring-server/src/main/java/io/swagger/model/EligibleProductOfferingVBOProductOffering.java. Vergleichen Sie die generierte id-Deklaration mit der erwarteten BasicComponentsIDType-Referenz und verifizieren Sie, dass der generierte Spring-Server ohne die fehlende BasicComponentspropertiesIDType-Klasse kompiliert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, spring
Bereich
backend-api-design, tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.