Skip to content

Commit 0c966d7

Browse files
macjohnnywing328
authored andcommitted
[typescript][angular] query parameter with null value should not be set (#8033)
* #7893: [typescript][angular] fix optional query parameter null value * #7893: [typescript][angular] generate samples * #7893: [typescript][angular] generate samples
1 parent d1e75b0 commit 0c966d7

File tree

16 files changed

+177
-101
lines changed

16 files changed

+177
-101
lines changed

modules/swagger-codegen/src/main/resources/typescript-angular/api.service.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ export class {{classname}} {
149149
}
150150
{{/isListContainer}}
151151
{{^isListContainer}}
152-
if ({{paramName}} !== undefined) {
152+
if ({{paramName}} !== undefined && {{paramName}} !== null) {
153153
{{#isDateTime}}
154154
{{#useHttpClient}}queryParameters = {{/useHttpClient}}queryParameters.set('{{baseName}}', <any>{{paramName}}.toISOString());
155155
{{/isDateTime}}

samples/client/petstore/typescript-angular-v2/default/api/user.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,10 +418,10 @@ export class UserService {
418418
}
419419

420420
let queryParameters = new URLSearchParams('', new CustomQueryEncoderHelper());
421-
if (username !== undefined) {
421+
if (username !== undefined && username !== null) {
422422
queryParameters.set('username', <any>username);
423423
}
424-
if (password !== undefined) {
424+
if (password !== undefined && password !== null) {
425425
queryParameters.set('password', <any>password);
426426
}
427427

samples/client/petstore/typescript-angular-v2/npm/api/user.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,10 +418,10 @@ export class UserService {
418418
}
419419

420420
let queryParameters = new URLSearchParams('', new CustomQueryEncoderHelper());
421-
if (username !== undefined) {
421+
if (username !== undefined && username !== null) {
422422
queryParameters.set('username', <any>username);
423423
}
424-
if (password !== undefined) {
424+
if (password !== undefined && password !== null) {
425425
queryParameters.set('password', <any>password);
426426
}
427427

samples/client/petstore/typescript-angular-v2/with-interfaces/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ npm link
3737

3838
In your project:
3939
```
40-
npm link @swagger/angular2-typescript-petstore@0.0.1
40+
npm link @swagger/angular2-typescript-petstore
4141
```
4242

4343
__Note for Windows users:__ The Angular CLI has troubles to use linked npm packages.

samples/client/petstore/typescript-angular-v2/with-interfaces/api/user.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,10 +419,10 @@ export class UserService implements UserServiceInterface {
419419
}
420420

421421
let queryParameters = new URLSearchParams('', new CustomQueryEncoderHelper());
422-
if (username !== undefined) {
422+
if (username !== undefined && username !== null) {
423423
queryParameters.set('username', <any>username);
424424
}
425-
if (password !== undefined) {
425+
if (password !== undefined && password !== null) {
426426
queryParameters.set('password', <any>password);
427427
}
428428

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"name": "@swagger/angular2-typescript-petstore",
3+
"version": "0.0.1",
4+
"description": "swagger client for @swagger/angular2-typescript-petstore",
5+
"author": "Swagger Codegen Contributors",
6+
"keywords": [
7+
"swagger-client"
8+
],
9+
"license": "Unlicense",
10+
"main": "dist/index.js",
11+
"module": "dist/index.js",
12+
"typings": "dist/index.d.ts",
13+
"scripts": {
14+
"build": "ngc",
15+
"postinstall": "npm run build"
16+
},
17+
"peerDependencies": {
18+
"@angular/core": "^2.0.0",
19+
"@angular/http": "^2.0.0",
20+
"@angular/common": "^2.0.0",
21+
"@angular/compiler": "^2.0.0",
22+
"core-js": "^2.4.0",
23+
"reflect-metadata": "^0.1.3",
24+
"rxjs": "^5.4.0",
25+
"zone.js": "^0.7.6"
26+
},
27+
"devDependencies": {
28+
"@angular/compiler-cli": "^2.0.0",
29+
"@angular/core": "^2.0.0",
30+
"@angular/http": "^2.0.0",
31+
"@angular/common": "^2.0.0",
32+
"@angular/compiler": "^2.0.0",
33+
"@angular/platform-browser": "^2.0.0",
34+
"reflect-metadata": "^0.1.3",
35+
"rxjs": "^5.4.0",
36+
"zone.js": "^0.7.6",
37+
"typescript": "^2.1.5"
38+
},
39+
"publishConfig": {
40+
"registry": "https://skimdb.npmjs.com/registry"
41+
}
42+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"compilerOptions": {
3+
"emitDecoratorMetadata": true,
4+
"experimentalDecorators": true,
5+
"noImplicitAny": false,
6+
"suppressImplicitAnyIndexErrors": true,
7+
"target": "es5",
8+
"module": "commonjs",
9+
"moduleResolution": "node",
10+
"removeComments": true,
11+
"sourceMap": true,
12+
"outDir": "./dist",
13+
"noLib": false,
14+
"declaration": true,
15+
"lib": [ "es6", "dom" ]
16+
},
17+
"exclude": [
18+
"node_modules",
19+
"dist"
20+
],
21+
"filesGlob": [
22+
"./model/*.ts",
23+
"./api/*.ts"
24+
],
25+
"angularCompilerOptions": {
26+
"genDir": "dist",
27+
"skipTemplateCodegen": true
28+
}
29+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"globalDependencies": {
3+
"core-js": "registry:dt/core-js#0.0.0+20160725163759"
4+
}
5+
}

samples/client/petstore/typescript-angular-v4.3/npm/api/user.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,10 +296,10 @@ export class UserService {
296296
}
297297

298298
let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});
299-
if (username !== undefined) {
299+
if (username !== undefined && username !== null) {
300300
queryParameters = queryParameters.set('username', <any>username);
301301
}
302-
if (password !== undefined) {
302+
if (password !== undefined && password !== null) {
303303
queryParameters = queryParameters.set('password', <any>password);
304304
}
305305

samples/client/petstore/typescript-angular-v4/npm/api/user.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,10 +418,10 @@ export class UserService {
418418
}
419419

420420
let queryParameters = new URLSearchParams('', new CustomQueryEncoderHelper());
421-
if (username !== undefined) {
421+
if (username !== undefined && username !== null) {
422422
queryParameters.set('username', <any>username);
423423
}
424-
if (password !== undefined) {
424+
if (password !== undefined && password !== null) {
425425
queryParameters.set('password', <any>password);
426426
}
427427

0 commit comments

Comments
 (0)