- Fixed issue #607

This commit is contained in:
Ferdi Koomen 2021-03-13 16:19:13 +01:00
parent 0d70638abc
commit 3711715932
6 changed files with 90 additions and 9 deletions

View File

@ -12,8 +12,10 @@ function areEqual(a: Model, b: Model): boolean {
export function getOperationResults(operationResponses: OperationResponse[]): OperationResponse[] {
const operationResults: OperationResponse[] = [];
// Filter out success response codes, but skip "204 No Content"
operationResponses.forEach(operationResponse => {
if (operationResponse.code && operationResponse.code >= 200 && operationResponse.code < 300) {
const { code } = operationResponse;
if (code && code !== 204 && code >= 200 && code < 300) {
operationResults.push(operationResponse);
}
});
@ -24,9 +26,9 @@ export function getOperationResults(operationResponses: OperationResponse[]): Op
name: '',
code: 200,
description: '',
export: 'interface',
type: 'any',
base: 'any',
export: 'generic',
type: 'void',
base: 'void',
template: null,
link: null,
isDefinition: false,

View File

@ -18,7 +18,8 @@ export function getOperationResponses(openApi: OpenApi, responses: OpenApiRespon
const responseCode = getOperationResponseCode(code);
if (responseCode) {
operationResponses.push(getOperationResponse(openApi, response, responseCode));
const operationResponse = getOperationResponse(openApi, response, responseCode);
operationResponses.push(operationResponse);
}
}
}

View File

@ -12,8 +12,10 @@ function areEqual(a: Model, b: Model): boolean {
export function getOperationResults(operationResponses: OperationResponse[]): OperationResponse[] {
const operationResults: OperationResponse[] = [];
// Filter out success response codes, but skip "204 No Content"
operationResponses.forEach(operationResponse => {
if (operationResponse.code && operationResponse.code >= 200 && operationResponse.code < 300) {
const { code } = operationResponse;
if (code && code !== 204 && code >= 200 && code < 300) {
operationResults.push(operationResponse);
}
});
@ -24,9 +26,9 @@ export function getOperationResults(operationResponses: OperationResponse[]): Op
name: '',
code: 200,
description: '',
export: 'interface',
type: 'any',
base: 'any',
export: 'generic',
type: 'void',
base: 'void',
template: null,
link: null,
isDefinition: false,

View File

@ -389,6 +389,7 @@ export { ComplexService } from './services/ComplexService';
export { DefaultsService } from './services/DefaultsService';
export { DuplicateService } from './services/DuplicateService';
export { HeaderService } from './services/HeaderService';
export { NoContentService } from './services/NoContentService';
export { ParametersService } from './services/ParametersService';
export { ResponseService } from './services/ResponseService';
export { SimpleService } from './services/SimpleService';
@ -2024,6 +2025,30 @@ export class HeaderService {
}"
`;
exports[`v2 should generate: ./test/generated/v2/services/NoContentService.ts 1`] = `
"/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import { request as __request } from '../core/request';
import { OpenAPI } from '../core/OpenAPI';
export class NoContentService {
/**
* @returns void
* @throws ApiError
*/
public static async callWithNoContentResponse(): Promise<void> {
const result = await __request({
method: 'GET',
path: \`/api/v\${OpenAPI.VERSION}/no-content\`,
});
return result.body;
}
}"
`;
exports[`v2 should generate: ./test/generated/v2/services/ParametersService.ts 1`] = `
"/* istanbul ignore file */
/* tslint:disable */
@ -2717,6 +2742,7 @@ export { DefaultsService } from './services/DefaultsService';
export { DuplicateService } from './services/DuplicateService';
export { HeaderService } from './services/HeaderService';
export { MultipartService } from './services/MultipartService';
export { NoContentService } from './services/NoContentService';
export { ParametersService } from './services/ParametersService';
export { RequestBodyService } from './services/RequestBodyService';
export { ResponseService } from './services/ResponseService';
@ -4672,6 +4698,30 @@ export class MultipartService {
}"
`;
exports[`v3 should generate: ./test/generated/v3/services/NoContentService.ts 1`] = `
"/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import { request as __request } from '../core/request';
import { OpenAPI } from '../core/OpenAPI';
export class NoContentService {
/**
* @returns void
* @throws ApiError
*/
public static async callWithNoContentResponse(): Promise<void> {
const result = await __request({
method: 'GET',
path: \`/api/v\${OpenAPI.VERSION}/no-content\`,
});
return result.body;
}
}"
`;
exports[`v3 should generate: ./test/generated/v3/services/ParametersService.ts 1`] = `
"/* istanbul ignore file */
/* tslint:disable */

View File

@ -370,6 +370,19 @@
"operationId": "DuplicateName"
}
},
"/api/v{api-version}/no-content": {
"get": {
"tags": [
"NoContent"
],
"operationId": "CallWithNoContentResponse",
"responses": {
"204": {
"description": "Success"
}
}
}
},
"/api/v{api-version}/response": {
"get": {
"tags": [

View File

@ -539,6 +539,19 @@
"operationId": "DuplicateName"
}
},
"/api/v{api-version}/no-content": {
"get": {
"tags": [
"NoContent"
],
"operationId": "CallWithNoContentResponse",
"responses": {
"204": {
"description": "Success"
}
}
}
},
"/api/v{api-version}/response": {
"get": {
"tags": [