swagger-api/swagger-codegen

Spring Model POJOs not being generated for matching schemas with different titles.

Open

#5,171 opened on Mar 22, 2017

View on GitHub
 (3 comments) (0 reactions) (0 assignees)HTML (12,701 stars) (5,474 forks)batch import
General: QuestionServer: Springhelp wanted

Description

Description

Not sure why, but when I create two path that have identical structures other than the name of the title, only the first titled object is generated.

Swagger-codegen version

Codegen 2.2.2:

Swagger declaration file content or url

swagger: '2.0'

info:
  title: API
  version: "0.0.1"

paths:
  /app/alive:
    get:
      responses:
        '200':
          description: OK
          schema:
            title: AppHealthCheckResult
            properties:
              header:
                $ref: '#/definitions/ResponseHeader'
              result:
                $ref: '#/definitions/GenericKeyValue'


  /app/config:
    get:
      responses:
        '200':
          description: OK
          schema:
            title: GetAppConfigKeyResponse
            properties:
              header:
                $ref: '#/definitions/ResponseHeader'
              result:
                $ref: '#/definitions/GenericKeyValue'

definitions:

  ResponseHeader:
    type: object
    properties:
      request-id:
        type: string
        description: Header for all response

  GenericKeyValue:
    type: object
    properties:
      name:
        type: string
        description: something
Command line used for generation
java -jar ../tools/swagger-codegen-cli-2.2.2.jar generate -i missing-models.yaml -l spring
Steps to reproduce

Using above the following is rendered...

I would also expect a model for GetAppConfigKeyResponse.java to be created.

[main] INFO io.swagger.parser.Swagger20Parser - reading from missing-models.yaml
[main] WARN io.swagger.codegen.ignore.CodegenIgnoreProcessor - Directory does not exist, or is inaccessible. No file will be evaluated.
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/model/AppHealthCheckResult.java
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/model/GenericKeyValue.java
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/model/ResponseHeader.java
[main] WARN io.swagger.codegen.DefaultCodegen - Empty operationId found for path: get /app/alive. Renamed to auto-generated operationId: appAliveGet
[main] WARN io.swagger.codegen.DefaultCodegen - Empty operationId found for path: get /app/config. Renamed to auto-generated operationId: appConfigGet
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/api/AppApiController.java
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/api/AppApi.java
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/pom.xml
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/README.md
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/configuration/HomeController.java
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/Swagger2SpringBoot.java
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/RFC3339DateFormat.java
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/resources/application.properties
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/api/ApiException.java
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/api/ApiResponseMessage.java
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/api/NotFoundException.java
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/api/ApiOriginFilter.java
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/src/main/java/io/swagger/configuration/SwaggerDocumentationConfig.java
[main] INFO io.swagger.codegen.AbstractGenerator - writing file /Users/roberhr/demo/codegen-bug/target/.swagger-codegen-ignore


##### Suggest a Fix
I'm not sure but it seems to me like there is a map collision or something.

Contributor guide