OpenAPITools / OpenAPITools/openapi-generator

[BUG][typescript-fetch] reserved word should not take into account response keys

Open
#19,832 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue: Bug
Dominant language
Java
Stars
26.8k
Forks
7.7k
PR merge metrics
PR metrics pending

Description

Bug Report Checklist
  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator (example)?
  • Have you tested with the latest master to confirm the issue still exists?
  • Have you searched for related issues/PRs?
  • What's the actual output vs expected output?
  • [Optional] Sponsorship to speed up the bug fix or feature request (example)
Description

When using a reserved word with typescript-fetch generator, the field will be prefixed with _ but it would not conflict with any types generated by openapi-generator.

openapi-generator version

7.9.0

OpenAPI declaration file content or url
openapi: "3.1.0"
info:
  title: OpenAPI Generator repro
  version: "1.0"
paths:
  /:
    get:
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
                properties:
                  configuration:
                    type: string

Generation Details
npm install -D @openapitools/openapi-generator-cli
npx openapi-generator-cli version-manager set 7.9.0
npx openapi-generator-cli generate -i openapi.yaml -g typescript-fetch --skip-validate-spec -o out --additional-properties=withoutRuntimeChecks=true
Steps to reproduce

If you reproduce the generation steps with the given schema, you will have in out/models/index.ts this interface:

export interface Get200Response {
    /**
     *
     * @type {string}
     * @memberof Get200Response
     */
    _configuration?: string;
}

I have provided a reproduction repo if needed: https://github.com/babariviere/openapi-generator-repro

Related issues/PRs

#7474

Suggest a fix

Request / response fields should be ignored for reserved word. Mapping should be 1:1.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the supplied OpenAPI declaration and typescript-fetch generation command, then inspect out/models/index.ts. Trace how the response property name configuration is transformed and confirm that the completed fix preserves configuration rather than generating _configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
openapi, typescript
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.