* [CLI] Initial implementation for batch generation Allows for generating multiple outputs via config. Just specify multiple config files on command line. Intent for this is to reduce CI times to generate outputs as well as to reduce time for users to run ensure-up-to-date to meet PR standards. Example command: openapi-generator batch --includes-base-dir `pwd` --fail-fast -- bin/ci/* --- As part of this implementation, the batch command support a customized JSON key, `!include`. If this key's value refers to an existing file, that file's contents are "unwrapped" into the config during deserialization. This allows us to easily point to the same configs used by our sample scripts without modifying the CLI generate task's switches or assumptions. * Allow for path-relative outputs * Add batch JSON objects * Include INFO log about threads used and includes/root * Ensure GlobalSettings.reset() * Improved thread-safety of ModelUtils
Org.OpenAPITools - the C# library for the OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: " \
This C# SDK is automatically generated by the OpenAPI Generator project:
- API version: 1.0.0
- SDK version: 1.0.0
- Build package: org.openapitools.codegen.languages.CSharpClientCodegen
Frameworks supported
- .NET 4.0 or later
- Windows Phone 7.1 (Mango)
Dependencies
- RestSharp - 105.1.0 or later
- Json.NET - 7.0.0 or later
- JsonSubTypes - 1.2.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
NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742
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.
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.Default.BasePath = "http://petstore.swagger.io:80/v2";
var apiInstance = new AnotherFakeApi(Configuration.Default);
var body = new ModelClient(); // ModelClient | client model
try
{
// To test special tags
ModelClient result = apiInstance.Call123TestSpecialTags(body);
Debug.WriteLine(result);
}
catch (ApiException e)
{
Debug.Print("Exception when calling AnotherFakeApi.Call123TestSpecialTags: " + e.Message );
Debug.Print("Status Code: "+ e.ErrorCode);
Debug.Print(e.StackTrace);
}
}
}
}
Documentation for API Endpoints
All URIs are relative to http://petstore.swagger.io:80/v2
Class | Method | HTTP request | Description |
---|---|---|---|
AnotherFakeApi | Call123TestSpecialTags | PATCH /another-fake/dummy | To test special tags |
FakeApi | CreateXmlItem | POST /fake/create_xml_item | creates an XmlItem |
FakeApi | FakeOuterBooleanSerialize | POST /fake/outer/boolean | |
FakeApi | FakeOuterCompositeSerialize | POST /fake/outer/composite | |
FakeApi | FakeOuterNumberSerialize | POST /fake/outer/number | |
FakeApi | FakeOuterStringSerialize | POST /fake/outer/string | |
FakeApi | TestBodyWithFileSchema | PUT /fake/body-with-file-schema | |
FakeApi | TestBodyWithQueryParams | PUT /fake/body-with-query-params | |
FakeApi | TestClientModel | PATCH /fake | To test "client" model |
FakeApi | TestEndpointParameters | POST /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 |
FakeApi | TestEnumParameters | GET /fake | To test enum parameters |
FakeApi | TestGroupParameters | DELETE /fake | Fake endpoint to test group parameters (optional) |
FakeApi | TestInlineAdditionalProperties | POST /fake/inline-additionalProperties | test inline additionalProperties |
FakeApi | TestJsonFormData | GET /fake/jsonFormData | test json serialization of form data |
FakeApi | TestQueryParameterCollectionFormat | PUT /fake/test-query-paramters | |
FakeClassnameTags123Api | TestClassname | PATCH /fake_classname_test | To test class name in snake case |
PetApi | AddPet | POST /pet | Add a new pet to the store |
PetApi | DeletePet | DELETE /pet/{petId} | Deletes a pet |
PetApi | FindPetsByStatus | GET /pet/findByStatus | Finds Pets by status |
PetApi | FindPetsByTags | GET /pet/findByTags | Finds Pets by tags |
PetApi | GetPetById | GET /pet/{petId} | Find pet by ID |
PetApi | UpdatePet | PUT /pet | Update an existing pet |
PetApi | UpdatePetWithForm | POST /pet/{petId} | Updates a pet in the store with form data |
PetApi | UploadFile | POST /pet/{petId}/uploadImage | uploads an image |
PetApi | UploadFileWithRequiredFile | POST /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) |
StoreApi | DeleteOrder | DELETE /store/order/{order_id} | Delete purchase order by ID |
StoreApi | GetInventory | GET /store/inventory | Returns pet inventories by status |
StoreApi | GetOrderById | GET /store/order/{order_id} | Find purchase order by ID |
StoreApi | PlaceOrder | POST /store/order | Place an order for a pet |
UserApi | CreateUser | POST /user | Create user |
UserApi | CreateUsersWithArrayInput | POST /user/createWithArray | Creates list of users with given input array |
UserApi | CreateUsersWithListInput | POST /user/createWithList | Creates list of users with given input array |
UserApi | DeleteUser | DELETE /user/{username} | Delete user |
UserApi | GetUserByName | GET /user/{username} | Get user by user name |
UserApi | LoginUser | GET /user/login | Logs user into the system |
UserApi | LogoutUser | GET /user/logout | Logs out current logged in user session |
UserApi | UpdateUser | PUT /user/{username} | Updated user |
Documentation for Models
- Model.AdditionalPropertiesAnyType
- Model.AdditionalPropertiesArray
- Model.AdditionalPropertiesBoolean
- Model.AdditionalPropertiesClass
- Model.AdditionalPropertiesInteger
- Model.AdditionalPropertiesNumber
- Model.AdditionalPropertiesObject
- Model.AdditionalPropertiesString
- Model.Animal
- Model.ApiResponse
- Model.ArrayOfArrayOfNumberOnly
- Model.ArrayOfNumberOnly
- Model.ArrayTest
- Model.Capitalization
- Model.Cat
- Model.CatAllOf
- Model.Category
- Model.ClassModel
- Model.Dog
- Model.DogAllOf
- Model.EnumArrays
- Model.EnumClass
- Model.EnumTest
- Model.File
- Model.FileSchemaTestClass
- Model.FormatTest
- Model.HasOnlyReadOnly
- Model.List
- Model.MapTest
- Model.MixedPropertiesAndAdditionalPropertiesClass
- Model.Model200Response
- Model.ModelClient
- Model.Name
- Model.NumberOnly
- Model.Order
- Model.OuterComposite
- Model.OuterEnum
- Model.Pet
- Model.ReadOnlyFirst
- Model.Return
- Model.SpecialModelName
- Model.Tag
- Model.TypeHolderDefault
- Model.TypeHolderExample
- Model.User
- Model.XmlItem
Documentation for Authorization
api_key
-
Type: API key
-
API key parameter name: api_key
-
Location: HTTP header
api_key_query
-
Type: API key
-
API key parameter name: api_key_query
-
Location: URL query string
http_basic_test
- Type: HTTP basic authentication
petstore_auth
- Type: OAuth
- Flow: implicit
- Authorization URL: http://petstore.swagger.io/api/oauth/dialog
- Scopes:
- write:pets: modify pets in your account
- read:pets: read your pets