OpenAPITools / openapi-generator

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
https://openapi-generator.tech
Apache License 2.0
21.24k stars 6.43k forks source link

[BUG] [Javascript] Required properties of composed models not included in constructor parameters #2438

Open kvsm opened 5 years ago

kvsm commented 5 years ago
Description

Model schemas which use allOf to compose other schemas produce constructors which do not have parameters for the required properties of their composed classes. This results in invalid code which produces ReferenceErrors.

Example which reproduces this error: https://github.com/kvsm/test-api

The bug is evident at https://github.com/kvsm/test-api/blob/b9c2f82b283a6c6bd199eb40655c441081dd0680/client/src/Model/DescribedThing.js#L30 where ReferenceError: name is not defined will be thrown.

openapi-generator version

4.0.0-SNAPSHOT

OpenAPI declaration file content or url

https://github.com/kvsm/test-api/blob/master/TestAPI.json

Command line used for generation

docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli generate -i /local/TestAPI.json -g javascript -c /local/config-javascript.json -o /local/client

Steps to reproduce

See https://github.com/kvsm/test-api; or:

  1. Create an OpenAPI schema containing a model schema which composes one or more schemas having required properties.
  2. Generate javascript client with said schema.
  3. Execute npm install && npm run test in generated client project.
Expected output

Tests execute successfully.

Actual output

Tests fail with ReferenceError.

auto-labeler[bot] commented 5 years ago

👍 Thanks for opening this issue! 🏷 I have applied any labels matching special text in your issue.

The team will review the labels and make any necessary changes.