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); } /// /// Sets the endpoint base url for the services being accessed /// /// Base URL /// public void SetBasePath(string basePath) { this.basePath = basePath; } /// /// Gets the endpoint base url for the services being accessed /// Base URL /// public String GetBasePath() { return this.basePath; } {{#operation}} /// /// {{summary}} {{notes}} /// {{#allParams}} /// {{description}} {{/allParams}} /// {{#returnType}}{{{returnType}}}{{/returnType}} 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}} }