Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Issues
  • #13429
Closed
Open
Issue created 2 years ago by Administrator@rootContributor4 of 6 checklist items completed4/6 checklist items
  • New related issue

  • Report abuse to administrator

  • New related issue

  • Report abuse to administrator

[BUG][typescript-angular] `queryParamObjectFormat` is non-compliant with `tsc --strictNullChecks`

Closed

[BUG][typescript-angular] `queryParamObjectFormat` is non-compliant with `tsc --strictNullChecks`

Created by: snebjorn

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

Generating with the queryParamObjectFormat additional property causes the generated code to be non-compilable with the strictNullChecks typescript compile flag. image

openapi-generator version

6.1.0

OpenAPI declaration file content or url

https://github.com/snebjorn/openapi-gen-bug/blob/master/compile-bug.json

{
  "openapi": "3.0.0",
  "info": {
    "title": "",
    "version": ""
  },
  "paths": {
    "/Foos": {
      "get": {
        "responses": {
          "200": {
            "description": ""
          }
        }
      }
    }
  }
}
Generation Details

Generate with queryParamObjectFormat: json https://github.com/snebjorn/openapi-gen-bug/blob/ee78e17b3e1e8369eed090b4ab4694d3b34ee84d/openapitools.json#L30-L36

Steps to reproduce
  1. Clone https://github.com/snebjorn/openapi-gen-bug
  2. Run yarn install
  3. Run yarn gen
  4. Run yarn err
  5. Observe compile error
Related issues/PRs

https://github.com/OpenAPITools/openapi-generator/issues/10844 is somewhat related

Suggest a fix

Ideally generated code should comply with the --strict rule set of TypeScript.

However a quick fix for this issue is to do what is done on literally the next line in the code

if (typeof value === "object") {
    httpParams = httpParams.append(key, JSON.stringify(value));
} else if (key != null) { // <-------------------------------------------- NOTICE
    httpParams = httpParams.append(key, value);
}

Just check that key isn't null. append doesn't accept null or undefined anyway.

  1. Oh no!

    You are trying to upload something other than an image. Please upload a .png, .jpg, .jpeg, .gif, .bmp, .tiff or .ico.

    Incoming!

    Drop your designs to start your upload.
Tasks
0

No tasks are currently assigned. Use tasks to break down this issue into smaller parts.

Linked items
0

Link issues together to show that they're related. Learn more.

Activity


Please register or sign in to reply
0 Assignees
None
Assign to
Labels
1
Issue: Bug
1
Issue: Bug
    Assign labels
  • Manage project labels

Milestone
No milestone
None
Due date
None
None
None
Time tracking
No estimate or time spent
Confidentiality
Not confidential
Not confidential

You are going to turn on confidentiality. Only project members with at least the Reporter role, the author, and assignees can view or be notified about this issue.

Lock issue
Unlocked
1
1 participant
Administrator
Reference: OpenAPITools/openapi-generator#13429