When a spec defines a Model at the top level that is a non-aggretate type (such as string, number or boolean), it essentially represents an alias for the simple type. For example, the following spec snippet creates an alias of the boolean type that for all intents and purposes acts just like a regular boolean. definitions: JustABoolean: type: boolean This can be modeled in some languages through built-in mechanisms, such as typedefs in C++. Java, however, just not have a clean way of representing this. This change introduces an internal mechanism for representing aliases. It maintains a map in DefaultCodegen that tracks these types of definitions, and wherever it sees the "JustABoolean" type in the spec, it generates code that uses the built-in "Boolean" instead. This functionality currenlty only applies to Java, but could be extended to other languages later. The change adds a few examples of this to the fake endpoint spec for testing, which means all of the samples change as well.
8.5 KiB
IO.Swagger - the C# library for the Swagger 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 Swagger Codegen project:
- API version: 1.0.0
- SDK version: 1.0.0
- Build package: io.swagger.codegen.languages.CSharpClientCodegen
Frameworks supported
- .NET 4.0 or later
- Windows Phone 7.1 (Mango)
Dependencies
The DLLs included in the package may not be the latest version. We recommend using [NuGet] (https://docs.nuget.org/consume/installing-nuget) to obtain the latest version of the packages:
Install-Package RestSharp
Install-Package Newtonsoft.Json
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 IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.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 IO.Swagger.csproj
Then, publish to a local feed or other host and consume the new package via Nuget as usual.
Getting Started
using System;
using System.Diagnostics;
using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.Model;
namespace Example
{
public class Example
{
public void main()
{
var apiInstance = new FakeApi();
var body = new OuterBoolean(); // OuterBoolean | Input boolean as post body (optional)
try
{
OuterBoolean result = apiInstance.FakeOuterBooleanSerialize(body);
Debug.WriteLine(result);
}
catch (Exception e)
{
Debug.Print("Exception when calling FakeApi.FakeOuterBooleanSerialize: " + e.Message );
}
}
}
}
Documentation for API Endpoints
All URIs are relative to http://petstore.swagger.io:80/v2
Class | Method | HTTP request | Description |
---|---|---|---|
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 | 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 |
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 |
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.AdditionalPropertiesClass
- Model.Animal
- Model.AnimalFarm
- Model.ApiResponse
- Model.ArrayOfArrayOfNumberOnly
- Model.ArrayOfNumberOnly
- Model.ArrayTest
- Model.Capitalization
- Model.Cat
- Model.Category
- Model.ClassModel
- Model.Dog
- Model.EnumArrays
- Model.EnumClass
- Model.EnumTest
- Model.FormatTest
- Model.HasOnlyReadOnly
- Model.List
- Model.MapTest
- Model.MixedPropertiesAndAdditionalPropertiesClass
- Model.Model200Response
- Model.ModelClient
- Model.ModelReturn
- Model.Name
- Model.NumberOnly
- Model.Order
- Model.OuterBoolean
- Model.OuterComposite
- Model.OuterEnum
- Model.OuterNumber
- Model.OuterString
- Model.Pet
- Model.ReadOnlyFirst
- Model.SpecialModelName
- Model.Tag
- Model.User
Documentation for Authorization
api_key
- Type: API key
- API key parameter name: api_key
- Location: HTTP header
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