Generate a RestEase compatible client (Interface & Models) based on a Swagger / OpenApi or RAML specification.
See https://github.com/StefH/RestEase-Client-Generator/wiki/Options
Excerpt...
paths:
/pet:
post:
tags:
- pet
summary: Add a new pet to the store
description: ''
operationId: addPet
consumes:
- application/json
- application/xml
produces:
- application/xml
- application/json
parameters:
- in: body
name: body
description: Pet object that needs to be added to the store
required: true
schema:
$ref: '#/definitions/Pet'
(Full example).
Excerpt...
namespace RestEaseClientGeneratorConsoleApp.PetStoreJson.Api
{
public interface IPetStoreApi
{
/// <summary>
/// Add a new pet to the store
/// </summary>
/// <param name="pet">A pet for sale in the pet store</param>
[Post("/pet")]
Task AddPetAsync([Body] Pet pet);
// More methods ...
}
}
namespace RestEaseClientGeneratorConsoleApp.PetStoreJson.Models
{
public class Pet
{
public long Id { get; set; }
// More properties ...
}
}
(Full example).
var petStoreApi = RestClient.For<IPetStoreApi>("https://petstore.swagger.io/v2");
var findPetsByTags = await petStoreApi.FindPetsByTagsAsync(new[] { "cat" });