Skip to content

Commit 89f3da6

Browse files
authored
Merge pull request ferdikoomen#13 from nicolas-chaulet/fix/x-body-name
fix(api): allow overriding request body name with x-body-name key
2 parents 80f0dbf + d9daebd commit 89f3da6

File tree

5 files changed

+9
-8
lines changed

5 files changed

+9
-8
lines changed

src/openApi/v3/interfaces/OpenApiRequestBody.d.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ import type { OpenApiReference } from './OpenApiReference';
66
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#requestBodyObject
77
*/
88
export interface OpenApiRequestBody extends OpenApiReference {
9-
description?: string;
9+
'x-body-name'?: string;
1010
content: Dictionary<OpenApiMediaType>;
11-
required?: boolean;
11+
description?: string;
1212
nullable?: boolean;
13+
required?: boolean;
1314
}

src/openApi/v3/parser/getOperationRequestBody.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ export const getOperationRequestBody = (openApi: OpenApi, body: OpenApiRequestBo
1010
const requestBody: OperationParameter = {
1111
in: 'body',
1212
export: 'interface',
13-
prop: 'requestBody',
14-
name: 'requestBody',
13+
prop: body['x-body-name'] ?? 'requestBody',
14+
name: body['x-body-name'] ?? 'requestBody',
1515
type: 'any',
1616
base: 'any',
1717
template: null,

src/utils/writeClient.ts

-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import { writeClientServices } from './writeClientServices';
2828
* @param exportServices Generate services
2929
* @param exportModels Generate models
3030
* @param exportSchemas Generate schemas
31-
* @param exportSchemas Generate schemas
3231
* @param indent Indentation options (4, 2 or tab)
3332
* @param postfixServices Service name postfix
3433
* @param postfixModels Model name postfix

test/__snapshots__/index.spec.ts.snap

+3-3
Original file line numberDiff line numberDiff line change
@@ -7583,20 +7583,20 @@ import { request as __request } from '../core/request';
75837583
export class RequestBodyService {
75847584
/**
75857585
* @param parameter This is a reusable parameter
7586-
* @param requestBody A reusable request body
7586+
* @param foo A reusable request body
75877587
* @throws ApiError
75887588
*/
75897589
public static postApiRequestBody(
75907590
parameter?: string,
7591-
requestBody?: ModelWithString,
7591+
foo?: ModelWithString,
75927592
): CancelablePromise<void> {
75937593
return __request(OpenAPI, {
75947594
method: 'POST',
75957595
url: '/api/v{api-version}/requestBody/',
75967596
query: {
75977597
'parameter': parameter,
75987598
},
7599-
body: requestBody,
7599+
body: foo,
76007600
mediaType: 'application/json',
76017601
});
76027602
}

test/spec/v3.json

+1
Original file line numberDiff line numberDiff line change
@@ -1493,6 +1493,7 @@
14931493
"components": {
14941494
"requestBodies": {
14951495
"SimpleRequestBody": {
1496+
"x-body-name": "foo",
14961497
"description": "A reusable request body",
14971498
"required": false,
14981499
"content": {

0 commit comments

Comments
 (0)