Skip to content

Fix typescript axios content type - #1428

Open
flashnoob wants to merge 3 commits into
swagger-api:masterfrom
flashnoob:fix-typescript-axios-content-type
Open

Fix typescript axios content type#1428
flashnoob wants to merge 3 commits into
swagger-api:masterfrom
flashnoob:fix-typescript-axios-content-type

Conversation

@flashnoob

Copy link
Copy Markdown

Pull Request

Description

Fix case-insensitive Content-Type detection in the typescript-axios generator.

The generated client currently checks the Content-Type header using an exact key:

localVarRequestOptions.headers['Content-Type']

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The updated template block introduces avoidable maintainability issues (indentation inconsistency and unnecessary let) and the behavior change lacks regression test coverage for the TypeScript Axios generator.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR updates the typescript-axios generator template to detect the Content-Type header in a case-insensitive way when deciding whether to JSON-serialize the request body.

Changes:

  • Replaces the exact headers['Content-Type'] lookup with a case-insensitive scan of localVarRequestOptions.headers.
  • Refactors the request-body serialization block into a multi-line conditional for readability.
File summaries
File Description
src/main/resources/handlebars/typescript-axios/apiInner.mustache Adjusts generated body-serialization logic to treat Content-Type header keys case-insensitively.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +209 to +213
Object.keys(localVarRequestOptions.headers || {}).some(
headerKey =>
headerKey.toLowerCase() === "content-type" &&
(localVarRequestOptions.headers as any)[headerKey] === "application/json"
);
Comment on lines +206 to +219
{{#bodyParam}}
let needsSerialization =
typeof {{paramName}} !== "string" ||
Object.keys(localVarRequestOptions.headers || {}).some(
headerKey =>
headerKey.toLowerCase() === "content-type" &&
(localVarRequestOptions.headers as any)[headerKey] === "application/json"
);

localVarRequestOptions.data =
needsSerialization
? JSON.stringify({{paramName}} !== undefined ? {{paramName}} : {})
: ({{paramName}} || "");
{{/bodyParam}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants