OpenAPITools / OpenAPITools/openapi-generator
[BUG] NodeJS OpenAPI client error on parse Object.keys(null) param
Open
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
On NodeJS generated OpenAPI client when passing to a function a non-required parameter with value null the lib crashed with error
Cannot convert undefined or null to object
openapi-generator version
2.5.2
OpenAPI declaration file content or url
function setFlattenedQueryParams(urlSearchParams, parameter, key) {
if (key === void 0) { key = ""; }
if (typeof parameter === "object") {
if (Array.isArray(parameter)) {
parameter.forEach(function (item) { return setFlattenedQueryParams(urlSearchParams, item, key); });
}
else {
Object.keys(parameter).forEach(function (currentKey) {
return setFlattenedQueryParams(urlSearchParams, parameter[currentKey], "".concat(key).concat(key !== '' ? '.' : '').concat(c {snip}
});
}
}
Generation Details
Steps to reproduce
- Generate the lib with a function with a non-required param
- Pass that param with value null
Related issues/PRs
Suggest a fix
https://github.com/OpenAPITools/openapi-generator/pull/14175
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the generated NodeJS client's setFlattenedQueryParams function shown in the issue and reproduce the call with a non-required parameter set to null. Confirm that the client no longer throws when handling that value; the suggested fix is in pull request 14175.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, nodejs
- Domain
- api
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100