- Fixed form data examples

This commit is contained in:
Ferdi Koomen 2021-10-28 20:49:28 +02:00
parent be7ffbbd80
commit 6e39d43e3d
3 changed files with 74 additions and 15 deletions

View File

@ -64,7 +64,6 @@ export function getOperation(
operation.parametersBody = parameters.parametersBody;
}
// TODO: form data goes wrong here: https://github.com/ferdikoomen/openapi-typescript-codegen/issues/257§
if (op.requestBody) {
const requestBodyDef = getRef<OpenApiRequestBody>(openApi, op.requestBody);
const requestBody = getOperationRequestBody(openApi, requestBodyDef);

View File

@ -3090,6 +3090,7 @@ export { CollectionFormatService } from './services/CollectionFormatService';
export { ComplexService } from './services/ComplexService';
export { DefaultsService } from './services/DefaultsService';
export { DuplicateService } from './services/DuplicateService';
export { FormDataService } from './services/FormDataService';
export { HeaderService } from './services/HeaderService';
export { MultipartService } from './services/MultipartService';
export { NoContentService } from './services/NoContentService';
@ -5116,6 +5117,40 @@ export class DuplicateService {
}"
`;
exports[`v3 should generate: ./test/generated/v3/services/FormDataService.ts 1`] = `
"/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { ModelWithString } from '../models/ModelWithString';
import type { CancelablePromise } from '../core/CancelablePromise';
import { request as __request } from '../core/request';
import { OpenAPI } from '../core/OpenAPI';
export class FormDataService {
/**
* @param parameter This is a reusable parameter
* @param formData A reusable request body
* @throws ApiError
*/
public static postFormDataService(
parameter?: string,
formData?: ModelWithString,
): CancelablePromise<void> {
return __request({
method: 'POST',
path: \`/api/v\${OpenAPI.VERSION}/formData/\`,
query: {
'parameter': parameter,
},
formData: formData,
mediaType: 'multipart/form-data',
});
}
}"
`;
exports[`v3 should generate: ./test/generated/v3/services/HeaderService.ts 1`] = `
"/* istanbul ignore file */
/* tslint:disable */
@ -5346,15 +5381,20 @@ import { OpenAPI } from '../core/OpenAPI';
export class RequestBodyService {
/**
* @param parameter This is a reusable parameter
* @param requestBody A reusable request body
* @throws ApiError
*/
public static postRequestBodyService(
parameter?: string,
requestBody?: ModelWithString,
): CancelablePromise<void> {
return __request({
method: 'POST',
path: \`/api/v\${OpenAPI.VERSION}/requestBody/\`,
query: {
'parameter': parameter,
},
body: requestBody,
mediaType: 'application/json',
});

View File

@ -313,14 +313,13 @@
"tags": [
"RequestBody"
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/requestBodies/SimpleRequestBody"
}
}
"parameters": [
{
"$ref": "#/components/parameters/SimpleParameter"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/SimpleRequestBody"
}
}
},
@ -329,14 +328,13 @@
"tags": [
"FormData"
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/requestBodies/SimpleRequestBody"
}
}
"parameters": [
{
"$ref": "#/components/parameters/SimpleParameter"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/SimpleFormData"
}
}
},
@ -1288,6 +1286,28 @@
}
}
}
},
"SimpleFormData": {
"description": "A reusable request body",
"required": false,
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/ModelWithString"
}
}
}
}
},
"parameters": {
"SimpleParameter": {
"description": "This is a reusable parameter",
"name": "parameter",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
},
"schemas": {