|
| 1 | + /** |
| 2 | +<% it.parameters.forEach((parameter) => { %> |
| 3 | + * @param <%= parameter.name %> <%= parameter.optional ? '(optional)' : '' %> <%= parameter.name !== parameter.originalName ? `(API name: ${parameter.originalName})` : '' %> |
| 4 | +
|
| 5 | +<% }); -%> |
| 6 | + */ |
| 7 | + <%= it.name %>(<% it.parameters.forEach((parameter) => { %> |
| 8 | +<%= parameter.name %>: <%~ parameter.type %> <%= parameter.optional ? '| null | undefined' : '' %>, |
| 9 | + <% }); %> |
| 10 | +$config?: XiorRequestConfig |
| 11 | + ): Promise<XiorResponse<<%~ it.returnType %>>> { |
| 12 | + let url = '<%= it.url %>'; |
| 13 | +<% if(it.pathParams && it.pathParams.length > 0) { |
| 14 | + it.pathParams.forEach((parameter) => { %> |
| 15 | + url = url.replace('{<%= parameter.name %>}', encodeURIComponent("" + <%= parameter.name %>)); |
| 16 | +<% }); |
| 17 | +} %> |
| 18 | +<% if(it.formData && it.formData.length > 0) { %> |
| 19 | + const formDataBody = new FormData(); |
| 20 | + <% it.formData.forEach((parameter) => { %> |
| 21 | + if (!!<%= parameter.name %>) { |
| 22 | + <% if(parameter.original && parameter.original.type === 'array') { %> |
| 23 | + <%= parameter.name %>.forEach((f: any) => formDataBody.append("<%= parameter.originalName %>", f)); |
| 24 | + <% } else { %> |
| 25 | + formDataBody.append("<%= parameter.originalName %>", <%= parameter.name %><%= parameter.type !== 'string' && parameter.type !== 'File' && parameter.type !== 'Blob' ? '.toString()' : '' %>); |
| 26 | + <% } %> |
| 27 | + } |
| 28 | +<% }); |
| 29 | +} %> |
| 30 | + |
| 31 | + return http.request<<%~ it.returnType %>>({ |
| 32 | + url: url, |
| 33 | + method: '<%= it.method %>', |
| 34 | +<% if(it.formData && it.formData.length > 0) { %> |
| 35 | + data: formDataBody, |
| 36 | +<% } else if(it.body) { %> |
| 37 | + data: <%= it.body.name %>, |
| 38 | +<% } %> |
| 39 | +<% if(it.query && it.query.length > 0) { %> |
| 40 | + params: { |
| 41 | + <% it.query.forEach((parameter) => { %> |
| 42 | + '<%= parameter.originalName %>': serializeQueryParam(<%= parameter.name %>), |
| 43 | + <% }); %> |
| 44 | + }, |
| 45 | +<% } %> |
| 46 | +<% if(it.headers && it.headers.length > 0) { %> |
| 47 | + headers: { |
| 48 | + <% it.headers.forEach((parameter) => { %> |
| 49 | + <% if (parameter.value) { %> |
| 50 | + '<%= parameter.originalName %>': '<%= parameter.value %>', |
| 51 | + <% } else { %> |
| 52 | + '<%= parameter.originalName %>': <%= parameter.name %>, |
| 53 | + <% } %> |
| 54 | + <% }); %> |
| 55 | +}, |
| 56 | +<% } %> |
| 57 | + ...$config, |
| 58 | + }); |
| 59 | + }, |
0 commit comments