mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-06-22 08:40:50 +00:00
86 lines
3.2 KiB
Plaintext
86 lines
3.2 KiB
Plaintext
using System;
|
|
using System.Collections.Generic;
|
|
using RestSharp;
|
|
using {{invokerPackage}};
|
|
using {{modelPackage}};
|
|
{{#imports}}
|
|
{{/imports}}
|
|
|
|
namespace {{package}} {
|
|
{{#operations}}
|
|
public class {{classname}} {
|
|
string basePath;
|
|
protected RestClient restClient;
|
|
|
|
public {{classname}}(String basePath = "{{basePath}}")
|
|
{
|
|
this.basePath = basePath;
|
|
this.restClient = new RestClient(basePath);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Sets the endpoint base url for the services being accessed
|
|
/// </summary>
|
|
/// <param name="basePath"> Base URL
|
|
/// <returns></returns>
|
|
public void SetBasePath(string basePath) {
|
|
this.basePath = basePath;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the endpoint base url for the services being accessed
|
|
/// <returns>Base URL</returns>
|
|
/// </summary>
|
|
public String GetBasePath() {
|
|
return this.basePath;
|
|
}
|
|
|
|
{{#operation}}
|
|
|
|
/// <summary>
|
|
/// {{summary}} {{notes}}
|
|
/// </summary>
|
|
{{#allParams}} /// <param name="{{paramName}}">{{description}}</param>
|
|
{{/allParams}} /// <returns>{{#returnType}}{{{returnType}}}{{/returnType}}</returns>
|
|
public {{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}} {{nickname}} ({{#allParams}}{{{dataType}}} {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) {
|
|
|
|
var _request = new RestRequest("{{path}}", Method.{{httpMethod}});
|
|
|
|
{{#requiredParams}}
|
|
// verify required param {{paramName}} is set
|
|
if ({{paramName}} == null) throw new ApiException(400, "missing required params {{paramName}}");
|
|
{{/requiredParams}}
|
|
|
|
_request.AddUrlSegment("format", "json"); // set format to json by default
|
|
{{#pathParams}}_request.AddUrlSegment("{{baseName}}", ApiInvoker.ParameterToString({{{paramName}}})); // path (url segment) parameter
|
|
{{/pathParams}}
|
|
{{#queryParams}} if ({{paramName}} != null) _request.AddParameter("{{baseName}}", ApiInvoker.ParameterToString({{paramName}})); // query parameter
|
|
{{/queryParams}}
|
|
{{#headerParams}} if ({{paramName}} != null) _request.AddHeader("{{baseName}}", ApiInvoker.ParameterToString({{paramName}})); // header parameter
|
|
{{/headerParams}}
|
|
{{#formParams}}if ({{paramName}} != null) {{#isFile}}_request.AddFile("{{baseName}}", {{paramName}});{{/isFile}}{{^isFile}}_request.AddParameter("{{baseName}}", ApiInvoker.ParameterToString({{paramName}}));{{/isFile}} // form parameter
|
|
{{/formParams}}
|
|
{{#bodyParam}}
|
|
_request.AddParameter("application/json", ApiInvoker.Serialize({{paramName}}), ParameterType.RequestBody); // HTTP request body (model)
|
|
{{/bodyParam}}
|
|
|
|
try {
|
|
{{#returnType}}IRestResponse response = restClient.Execute(_request);
|
|
return ({{{returnType}}}) ApiInvoker.Deserialize(response.Content, typeof({{{returnType}}}));
|
|
//return ((object)response) as {{{returnType}}};{{/returnType}}
|
|
{{^returnType}}restClient.Execute(_request);
|
|
return;{{/returnType}}
|
|
} catch (Exception ex) {
|
|
if(ex != null) {
|
|
return {{#returnType}}null{{/returnType}};
|
|
}
|
|
else {
|
|
throw ex;
|
|
}
|
|
}
|
|
}
|
|
{{/operation}}
|
|
}
|
|
{{/operations}}
|
|
}
|