@@ -9,10 +9,30 @@ using {{modelPackage}};
9
9
10
10
namespace { {package} } {
11
11
{{#operations} }
12
+
13
+ public interface I{ {classname} } {
14
+ {{#operation} }
15
+ /// <summary >
16
+ /// { {summary} } { {notes} }
17
+ /// </summary >
18
+ { {#allParams} }/// <param name =" { { paramName} } " >{ {description} }</param >{ {/allParams} }
19
+ /// <returns >{ {#returnType} }{ {{returnType} }}{ {/returnType} }</returns >
20
+ { {#returnType} }{ {{returnType} }}{ {/returnType} }{ {^returnType} }void{ {/returnType} } { {nickname} } ({ {#allParams} }{ {{dataType} }} { {paramName} }{ {#hasMore} }, { {/hasMore} }{ {/allParams} });
21
+
22
+ /// <summary >
23
+ /// { {summary} } { {notes} }
24
+ /// </summary >
25
+ { {#allParams} }/// <param name =" { { paramName} } " >{ {description} }</param >{ {/allParams} }
26
+ /// <returns >{ {#returnType} }{ {{returnType} }}{ {/returnType} }</returns >
27
+ { {#returnType} }Task<{ {{returnType} }}>{ {/returnType} }{ {^returnType} }Task{ {/returnType} } { {nickname} }Async ({ {#allParams} }{ {{dataType} }} { {paramName} }{ {#hasMore} }, { {/hasMore} }{ {/allParams} });
28
+ { {/operation} }
29
+ }
30
+
12
31
/// <summary >
13
32
/// Represents a collection of functions to interact with the API endpoints
14
33
/// </summary >
15
- public class { {classname} } {
34
+ public class { {classname} } : I{ {classname} } {
35
+
16
36
/// < summary>
17
37
/// Initializes a new instance of the < see cref= " {{classname}}" /> class.
18
38
/// < /summary>
@@ -62,8 +82,7 @@ namespace {{package}} {
62
82
/// <summary >
63
83
/// { {summary} } { {notes} }
64
84
/// </summary >
65
- { {#allParams} } /// <param name =" { { paramName} } " >{ {description} }</param >
66
- { {/allParams} }
85
+ { {#allParams} }/// <param name =" { { paramName} } " >{ {description} }</param >{ {/allParams} }
67
86
/// <returns >{ {#returnType} }{ {{returnType} }}{ {/returnType} }</returns >
68
87
public { {#returnType} }{ {{returnType} }}{ {/returnType} }{ {^returnType} }void{ {/returnType} } { {nickname} } ({ {#allParams} }{ {{dataType} }} { {paramName} }{ {#hasMore} }, { {/hasMore} }{ {/allParams} }) {
69
88
@@ -108,38 +127,40 @@ namespace {{package}} {
108
127
/// <summary >
109
128
/// { {summary} } { {notes} }
110
129
/// </summary >
111
- { {#allParams} } /// <param name =" { { paramName} } " >{ {description} }</param >
112
- { {/allParams} }
130
+ { {#allParams} }/// <param name =" { { paramName} } " >{ {description} }</param >{ {/allParams} }
113
131
/// <returns >{ {#returnType} }{ {{returnType} }}{ {/returnType} }</returns >
114
132
public async { {#returnType} }Task<{ {{returnType} }}>{ {/returnType} }{ {^returnType} }Task{ {/returnType} } { {nickname} }Async ({ {#allParams} }{ {{dataType} }} { {paramName} }{ {#hasMore} }, { {/hasMore} }{ {/allParams} }) {
115
133
116
- var _request = new RestRequest(" {{path}}" , Method.{{httpMethod} });
117
-
118
134
{{#allParams} }{ {#required} }
119
- // verify the required parameter '{ {paramName} }' is set
120
- if ({ {paramName} } == null) throw new ApiException(400, "Missing required parameter '{ {paramName} }' when calling { {nickname} }");
135
+ // verify the required parameter '{ {paramName} }' is set
136
+ if ({ {paramName} } == null) throw new ApiException(400, "Missing required parameter '{ {paramName} }' when calling { {nickname} }");
121
137
{ {/required} }{ {/allParams} }
122
138
123
- // add default header, if any
124
- foreach(KeyValuePair<string , string > defaultHeader in ApiInvoker.GetDefaultHeader())
125
- {
126
- _request.AddHeader(defaultHeader.Key, defaultHeader.Value);
127
- }
128
-
129
- _request.AddUrlSegment("format", "json"); // set format to json by default
130
- { {#pathParams} }_request.AddUrlSegment("{ {baseName} }", ApiInvoker.ParameterToString({ {{paramName} }})); // path (url segment) parameter
139
+ var path = "{ {path} }";
140
+ path = path.Replace("{ format} ", "json");
141
+ { {#pathParams} }path = path.Replace("{ " + " {{baseName} }" + "}", apiClient.ParameterToString({ {{paramName} }}));
131
142
{ {/pathParams} }
132
- { {#queryParams} } if ({ {paramName} } != null) _request.AddParameter("{ {baseName} }", ApiInvoker.ParameterToString({ {paramName} })); // query parameter
143
+
144
+ var queryParams = new Dictionary<String , String >();
145
+ var headerParams = new Dictionary<String , String >();
146
+ var formParams = new Dictionary<String , String >();
147
+ var fileParams = new Dictionary<String , String >();
148
+ String postBody = null;
149
+
150
+ { {#queryParams} } if ({ {paramName} } != null) queryParams.Add("{ {baseName} }", apiClient.ParameterToString({ {paramName} })); // query parameter
133
151
{ {/queryParams} }
134
- { {#headerParams} } if ({ {paramName} } != null) _request.AddHeader ("{ {baseName} }", ApiInvoker .ParameterToString({ {paramName} })); // header parameter
152
+ { {#headerParams} } if ({ {paramName} } != null) headerParams.Add ("{ {baseName} }", apiClient .ParameterToString({ {paramName} })); // header parameter
135
153
{ {/headerParams} }
136
- { {#formParams} }if ({ {paramName} } != null) { {#isFile} }_request.AddFile ("{ {baseName} }", { {paramName} });{ {/isFile} }{ {^isFile} }_request.AddParameter ("{ {baseName} }", ApiInvoker .ParameterToString({ {paramName} })); // form parameter{ {/isFile} }
154
+ { {#formParams} }if ({ {paramName} } != null) { {#isFile} }fileParams.Add ("{ {baseName} }", { {paramName} });{ {/isFile} }{ {^isFile} }formParams.Add ("{ {baseName} }", apiClient .ParameterToString({ {paramName} })); // form parameter{ {/isFile} }
137
155
{ {/formParams} }
138
- { {#bodyParam} }_request.AddParameter("application/json", ApiInvoker .Serialize({ {paramName} }), ParameterType.RequestBody ); // http body (model) parameter
156
+ { {#bodyParam} }postBody = apiClient .Serialize({ {paramName} }); // http body (model) parameter
139
157
{ {/bodyParam} }
140
158
159
+ // authentication setting, if any
160
+ String[] authSettings = new String[] { {{#authMethods} }"{ {name} }"{ {#hasMore} }, { {/hasMore} }{ {/authMethods} } };
161
+
141
162
// make the HTTP request
142
- IRestResponse response = await restClient.ExecuteTaskAsync(_request );
163
+ IRestResponse response = (IRestResponse) await apiClient.CallApiAsync(path, Method. { {httpMethod } }, queryParams, postBody, headerParams, formParams, fileParams, authSettings );
143
164
if (((int)response.StatusCode) >= 400) {
144
165
throw new ApiException ((int)response.StatusCode, " Error calling {{nickname}}: " + response.Content);
145
166
}
0 commit comments