Filipe Silva af94bde2ce
#19176 fix Task.Result directly blocks thread (#19231)
- 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.
2024-08-04 18:33:33 +08:00
..
2023-07-16 10:24:47 +08:00
2023-07-16 10:24:47 +08:00
2023-07-16 10:24:47 +08:00
2024-07-02 16:45:53 +08:00

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

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

Documentation for Authorization

Authentication schemes defined for the API:

http_auth

  • Type: HTTP basic authentication

http_bearer_auth

  • Type: Bearer Authentication