- async should never be blocked on the ApiClient To fix we invert the logic and use Task as base and keep consistency, we expect and wait result only on synchronous calls.
Org.OpenAPITools - the C# library for the Echo Server API
Echo Server API
This C# SDK is automatically generated by the OpenAPI Generator project:
- API version: 0.1.0
- SDK version: 1.0.0
- Generator version: 7.8.0-SNAPSHOT
- Build package: org.openapitools.codegen.languages.CSharpClientCodegen
Frameworks supported
Dependencies
- RestSharp - 106.13.0 or later
- Json.NET - 13.0.2 or later
- JsonSubTypes - 1.8.0 or later
- System.ComponentModel.Annotations - 5.0.0 or later
The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:
Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations
NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742. NOTE: RestSharp for .Net Core creates a new socket for each api call, which can lead to a socket exhaustion problem. See RestSharp#1406.
Installation
Run the following command to generate the DLL
- [Mac/Linux]
/bin/sh build.sh
- [Windows]
build.bat
Then include the DLL (under the bin
folder) in the C# project, and use the namespaces:
using Org.OpenAPITools.Api;
using Org.OpenAPITools.Client;
using Org.OpenAPITools.Model;
Packaging
A .nuspec
is included with the project. You can follow the Nuget quickstart to create and publish packages.
This .nuspec
uses placeholders from the .csproj
, so build the .csproj
directly:
nuget pack -Build -OutputDirectory out Org.OpenAPITools.csproj
Then, publish to a local feed or other host and consume the new package via Nuget as usual.
Usage
To use the API client with a HTTP proxy, setup a System.Net.WebProxy
Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;
Getting Started
using System.Collections.Generic;
using System.Diagnostics;
using Org.OpenAPITools.Api;
using Org.OpenAPITools.Client;
using Org.OpenAPITools.Model;
namespace Example
{
public class Example
{
public static void Main()
{
Configuration config = new Configuration();
config.BasePath = "http://localhost:3000";
// Configure HTTP basic authorization: http_auth
config.Username = "YOUR_USERNAME";
config.Password = "YOUR_PASSWORD";
var apiInstance = new AuthApi(config);
try
{
// To test HTTP basic authentication
string result = apiInstance.TestAuthHttpBasic();
Debug.WriteLine(result);
}
catch (ApiException e)
{
Debug.Print("Exception when calling AuthApi.TestAuthHttpBasic: " + e.Message );
Debug.Print("Status Code: "+ e.ErrorCode);
Debug.Print(e.StackTrace);
}
}
}
}
Documentation for API Endpoints
All URIs are relative to http://localhost:3000
Class | Method | HTTP request | Description |
---|---|---|---|
AuthApi | TestAuthHttpBasic | POST /auth/http/basic | To test HTTP basic authentication |
AuthApi | TestAuthHttpBearer | POST /auth/http/bearer | To test HTTP bearer authentication |
BodyApi | TestBinaryGif | POST /binary/gif | Test binary (gif) response body |
BodyApi | TestBodyApplicationOctetstreamBinary | POST /body/application/octetstream/binary | Test body parameter(s) |
BodyApi | TestBodyMultipartFormdataArrayOfBinary | POST /body/application/octetstream/array_of_binary | Test array of binary in multipart mime |
BodyApi | TestBodyMultipartFormdataSingleBinary | POST /body/application/octetstream/single_binary | Test single binary in multipart mime |
BodyApi | TestEchoBodyAllOfPet | POST /echo/body/allOf/Pet | Test body parameter(s) |
BodyApi | TestEchoBodyFreeFormObjectResponseString | POST /echo/body/FreeFormObject/response_string | Test free form object |
BodyApi | TestEchoBodyPet | POST /echo/body/Pet | Test body parameter(s) |
BodyApi | TestEchoBodyPetResponseString | POST /echo/body/Pet/response_string | Test empty response body |
BodyApi | TestEchoBodyStringEnum | POST /echo/body/string_enum | Test string enum response body |
BodyApi | TestEchoBodyTagResponseString | POST /echo/body/Tag/response_string | Test empty json (request body) |
FormApi | TestFormIntegerBooleanString | POST /form/integer/boolean/string | Test form parameter(s) |
FormApi | TestFormObjectMultipart | POST /form/object/multipart | Test form parameter(s) for multipart schema |
FormApi | TestFormOneof | POST /form/oneof | Test form parameter(s) for oneOf schema |
HeaderApi | TestHeaderIntegerBooleanStringEnums | GET /header/integer/boolean/string/enums | Test header parameter(s) |
PathApi | TestsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath | GET /path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s) |
QueryApi | TestEnumRefString | GET /query/enum_ref_string | Test query parameter(s) |
QueryApi | TestQueryDatetimeDateString | GET /query/datetime/date/string | Test query parameter(s) |
QueryApi | TestQueryIntegerBooleanString | GET /query/integer/boolean/string | Test query parameter(s) |
QueryApi | TestQueryStyleDeepObjectExplodeTrueObject | GET /query/style_deepObject/explode_true/object | Test query parameter(s) |
QueryApi | TestQueryStyleDeepObjectExplodeTrueObjectAllOf | GET /query/style_deepObject/explode_true/object/allOf | Test query parameter(s) |
QueryApi | TestQueryStyleFormExplodeFalseArrayInteger | GET /query/style_form/explode_false/array_integer | Test query parameter(s) |
QueryApi | TestQueryStyleFormExplodeFalseArrayString | GET /query/style_form/explode_false/array_string | Test query parameter(s) |
QueryApi | TestQueryStyleFormExplodeTrueArrayString | GET /query/style_form/explode_true/array_string | Test query parameter(s) |
QueryApi | TestQueryStyleFormExplodeTrueObject | GET /query/style_form/explode_true/object | Test query parameter(s) |
QueryApi | TestQueryStyleFormExplodeTrueObjectAllOf | GET /query/style_form/explode_true/object/allOf | Test query parameter(s) |
Documentation for Models
- Model.Bird
- Model.Category
- Model.DataQuery
- Model.DefaultValue
- Model.NumberPropertiesOnly
- Model.Pet
- Model.Query
- Model.StringEnumRef
- Model.Tag
- Model.TestFormObjectMultipartRequestMarker
- Model.TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter
- Model.TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter
Documentation for Authorization
Authentication schemes defined for the API:
http_auth
- Type: HTTP basic authentication
http_bearer_auth
- Type: Bearer Authentication