Skip to content

Commit 51d5310

Browse files
authored
Add create requestOpts method to {{classname}}Interface #21708 (#21709)
* feat(types): Add request configuration method to {{classname}}Interface * update docs and samples * refactor: change naming to better mirror openapi context * docs: update typescript-fetch
1 parent 2d81b01 commit 51d5310

49 files changed

Lines changed: 3840 additions & 1304 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,20 @@ export interface {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterIn
4242
*/
4343
export interface {{classname}}Interface {
4444
{{#operation}}
45+
/**
46+
* Creates request options for {{nickname}} without sending the request
47+
{{#allParams}}
48+
* @param {{=<% %>=}}{<%&dataType%>}<%={{ }}=%> {{^required}}[{{/required}}{{paramName}}{{^required}}]{{/required}} {{description}}
49+
{{/allParams}}
50+
* @param {*} [options] Override http request option.
51+
{{#isDeprecated}}
52+
* @deprecated
53+
{{/isDeprecated}}
54+
* @throws {RequiredError}
55+
* @memberof {{classname}}Interface
56+
*/
57+
{{nickname}}RequestOpts({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.RequestOpts>;
58+
4559
/**
4660
* {{&notes}}
4761
{{#summary}}
@@ -95,17 +109,12 @@ export class {{classname}} extends runtime.BaseAPI {
95109

96110
{{#operation}}
97111
/**
98-
{{#notes}}
99-
* {{&notes}}
100-
{{/notes}}
101-
{{#summary}}
102-
* {{&summary}}
103-
{{/summary}}
112+
* Creates request options for {{nickname}} without sending the request
104113
{{#isDeprecated}}
105114
* @deprecated
106115
{{/isDeprecated}}
107116
*/
108-
async {{nickname}}Raw({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<{{{returnType}}}{{^returnType}}void{{/returnType}}>> {
117+
async {{nickname}}RequestOpts({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.RequestOpts> {
109118
{{#allParams}}
110119
{{#required}}
111120
if (requestParameters['{{paramName}}'] == null) {
@@ -304,7 +313,7 @@ export class {{classname}} extends runtime.BaseAPI {
304313
{{/isDateTimeType}}
305314
{{/pathParams}}
306315

307-
const response = await this.request({
316+
return {
308317
path: urlPath,
309318
method: '{{httpMethod}}',
310319
headers: headerParameters,
@@ -337,7 +346,23 @@ export class {{classname}} extends runtime.BaseAPI {
337346
{{#hasFormParams}}
338347
body: formParams,
339348
{{/hasFormParams}}
340-
}, initOverrides);
349+
};
350+
}
351+
352+
/**
353+
{{#notes}}
354+
* {{&notes}}
355+
{{/notes}}
356+
{{#summary}}
357+
* {{&summary}}
358+
{{/summary}}
359+
{{#isDeprecated}}
360+
* @deprecated
361+
{{/isDeprecated}}
362+
*/
363+
async {{nickname}}Raw({{#allParams.0}}requestParameters: {{#prefixParameterInterfaces}}{{classname}}{{/prefixParameterInterfaces}}{{operationIdCamelCase}}Request, {{/allParams.0}}initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<{{{returnType}}}{{^returnType}}void{{/returnType}}>> {
364+
const requestConfig = await this.{{nickname}}RequestConfig({{#allParams.0}}requestParameters, {{/allParams.0}}initOverrides);
365+
const response = await this.request(requestConfig, initOverrides);
341366

342367
{{#returnType}}
343368
{{#isResponseFile}}

samples/client/petstore/typescript-fetch/builds/allOf-nullable/apis/DefaultApi.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ export interface ListRequest {
3232
export class DefaultApi extends runtime.BaseAPI {
3333

3434
/**
35+
* Creates request options for list without sending the request
3536
*/
36-
async listRaw(requestParameters: ListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Club>> {
37+
async listRequestOpts(requestParameters: ListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.RequestOpts> {
3738
if (requestParameters['personId'] == null) {
3839
throw new runtime.RequiredError(
3940
'personId',
@@ -49,12 +50,19 @@ export class DefaultApi extends runtime.BaseAPI {
4950
let urlPath = `/person/display/{personId}`;
5051
urlPath = urlPath.replace(`{${"personId"}}`, encodeURIComponent(String(requestParameters['personId'])));
5152

52-
const response = await this.request({
53+
return {
5354
path: urlPath,
5455
method: 'GET',
5556
headers: headerParameters,
5657
query: queryParameters,
57-
}, initOverrides);
58+
};
59+
}
60+
61+
/**
62+
*/
63+
async listRaw(requestParameters: ListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Club>> {
64+
const requestConfig = await this.listRequestConfig(requestParameters, initOverrides);
65+
const response = await this.request(requestConfig, initOverrides);
5866

5967
return new runtime.JSONApiResponse(response, (jsonValue) => ClubFromJSON(jsonValue));
6068
}

samples/client/petstore/typescript-fetch/builds/allOf-readonly/apis/DefaultApi.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ export interface ListRequest {
3232
export class DefaultApi extends runtime.BaseAPI {
3333

3434
/**
35+
* Creates request options for list without sending the request
3536
*/
36-
async listRaw(requestParameters: ListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Club>> {
37+
async listRequestOpts(requestParameters: ListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.RequestOpts> {
3738
if (requestParameters['personId'] == null) {
3839
throw new runtime.RequiredError(
3940
'personId',
@@ -49,12 +50,19 @@ export class DefaultApi extends runtime.BaseAPI {
4950
let urlPath = `/person/display/{personId}`;
5051
urlPath = urlPath.replace(`{${"personId"}}`, encodeURIComponent(String(requestParameters['personId'])));
5152

52-
const response = await this.request({
53+
return {
5354
path: urlPath,
5455
method: 'GET',
5556
headers: headerParameters,
5657
query: queryParameters,
57-
}, initOverrides);
58+
};
59+
}
60+
61+
/**
62+
*/
63+
async listRaw(requestParameters: ListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Club>> {
64+
const requestConfig = await this.listRequestConfig(requestParameters, initOverrides);
65+
const response = await this.request(requestConfig, initOverrides);
5866

5967
return new runtime.JSONApiResponse(response, (jsonValue) => ClubFromJSON(jsonValue));
6068
}

samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/AnotherFakeApi.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,9 @@ export interface 123testSpecialTagsRequest {
3232
export class AnotherFakeApi extends runtime.BaseAPI {
3333

3434
/**
35-
* To test special tags and operation ID starting with number
36-
* To test special tags
35+
* Creates request options for _123testSpecialTags without sending the request
3736
*/
38-
async _123testSpecialTagsRaw(requestParameters: 123testSpecialTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Client>> {
37+
async _123testSpecialTagsRequestOpts(requestParameters: 123testSpecialTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.RequestOpts> {
3938
if (requestParameters['client'] == null) {
4039
throw new runtime.RequiredError(
4140
'client',
@@ -52,13 +51,22 @@ export class AnotherFakeApi extends runtime.BaseAPI {
5251

5352
let urlPath = `/another-fake/dummy`;
5453

55-
const response = await this.request({
54+
return {
5655
path: urlPath,
5756
method: 'PATCH',
5857
headers: headerParameters,
5958
query: queryParameters,
6059
body: ClientToJSON(requestParameters['client']),
61-
}, initOverrides);
60+
};
61+
}
62+
63+
/**
64+
* To test special tags and operation ID starting with number
65+
* To test special tags
66+
*/
67+
async _123testSpecialTagsRaw(requestParameters: 123testSpecialTagsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Client>> {
68+
const requestConfig = await this._123testSpecialTagsRequestConfig(requestParameters, initOverrides);
69+
const response = await this.request(requestConfig, initOverrides);
6270

6371
return new runtime.JSONApiResponse(response, (jsonValue) => ClientFromJSON(jsonValue));
6472
}

samples/client/petstore/typescript-fetch/builds/default-v3.0/apis/DefaultApi.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,29 @@ import {
2828
export class DefaultApi extends runtime.BaseAPI {
2929

3030
/**
31+
* Creates request options for fooGet without sending the request
3132
*/
32-
async fooGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FooGetDefaultResponse>> {
33+
async fooGetRequestOpts(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.RequestOpts> {
3334
const queryParameters: any = {};
3435

3536
const headerParameters: runtime.HTTPHeaders = {};
3637

3738

3839
let urlPath = `/foo`;
3940

40-
const response = await this.request({
41+
return {
4142
path: urlPath,
4243
method: 'GET',
4344
headers: headerParameters,
4445
query: queryParameters,
45-
}, initOverrides);
46+
};
47+
}
48+
49+
/**
50+
*/
51+
async fooGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FooGetDefaultResponse>> {
52+
const requestConfig = await this.fooGetRequestConfig(initOverrides);
53+
const response = await this.request(requestConfig, initOverrides);
4654

4755
return new runtime.JSONApiResponse(response, (jsonValue) => FooGetDefaultResponseFromJSON(jsonValue));
4856
}

0 commit comments

Comments
 (0)