-
- Notifications
You must be signed in to change notification settings - Fork 7.3k
Open
Labels
Client: GoInline Schema HandlingSchema contains a complex schema in items/additionalProperties/allOf/oneOf/anyOfSchema contains a complex schema in items/additionalProperties/allOf/oneOf/anyOfIssue: Bug
Description
Bug Report Checklist
- [ x ] Have you provided a full/minimal spec to reproduce the issue?
- [ x ] Have you validated the input using an OpenAPI validator (example)?
- [ x ] What's the version of OpenAPI Generator used?
- [ x ] Have you search for related issues/PRs?
- [ x ] What's the actual output vs expected output?
Description
Enums that are declared inline are simply being declared as strings, while the same enum defined as a separate schema is properly captured with all legal values.
openapi-generator version
4.0.0-SNAPSHOT built from this commit: b128d14
OpenAPI declaration file content or url
sample.yaml:
openapi: "3.0.0" info: version: v1 title: Fake Service servers: - url: https://fake.net paths: /status/details: get: summary: Get status details operationId: getStatus responses: 200: description: Success content: application/json: schema: type: array items: $ref: "#/components/schemas/StatusDetails" components: schemas: State: type: string enum: - "IN_PROGRESS" - "READY" - "FAILED" StatusDetails: properties: id: type: string stateInline: # enum not captured, just declared as "string" type: string enum: - "IN_PROGRESS" - "READY" - "FAILED" state: # works as expected $ref: "#/components/schemas/State"Command line used for generation
java -jar openapi-generator-cli.jar generate -i sample.yaml -g go -o ./sample-go
Steps to reproduce
git clone https://github.com/OpenAPITools/openapi-generator.gitcd openapi-generatorgit checkout b128d1470709c44c6c7b6a906e1993d1c2758b52mvn clean installln -s modules/openapi-generator-cli/target/openapi-generator-cli.jar .java -jar openapi-generator-cli.jar generate -i sample.yaml -g go -o ./sample-go
Related issues/PRs
Actual vs Expected output
Go:
model_status_details.go (actual):
package openapi type StatusDetails struct { Id string `json:"id,omitempty"` StateInline string `json:"stateInline,omitempty"` State State `json:"state,omitempty"` }model_status_details.go (expected):
package openapi type StatusDetails struct { Id string `json:"id,omitempty"` StateInline StateInlineEnum `json:"stateInline,omitempty"` State State `json:"state,omitempty"` } type StateInlineEnum string // List of StateInlineEnum const ( IN_PROGRESS StateInlineEnum = "IN_PROGRESS" READY StateInlineEnum = "READY" FAILED StateInlineEnum = "FAILED" )Suggest a fix
PR has been put up: #2494
mroland91, ohatakky, AnthonySendra, kuritka, michaelholtermann and 1 more
Metadata
Metadata
Assignees
Labels
Client: GoInline Schema HandlingSchema contains a complex schema in items/additionalProperties/allOf/oneOf/anyOfSchema contains a complex schema in items/additionalProperties/allOf/oneOf/anyOfIssue: Bug