Skip to content

StefH/RestEase-Client-Generator

Repository files navigation

RestEase-Client-Generator

Generate a RestEase compatible client (Interface & Models) based on a Swagger / OpenApi or RAML specification.

1️⃣ NuGet Package

NuGet Badge

2️⃣ dotnet tool

NuGet Badge dotnet-resteaseclientgenerator

3️⃣ Visual Studio Extension

Version Installs Rating

Features

  • Supports Visual Studio 2017 and 2019
  • Add New RestEase API Client to a project from an OpenAPI specification URL (e.g https://petstore.swagger.io/v2/swagger.json)
  • Define custom namespace for the generated file
  • Auto-updating of generated code file when changes are made to the specification file (.json, .yml, .yaml, .raml)
  • This Visual Studio Extension will automatically add the required nuget packages that the generated code depends on.

Options

See https://github.com/StefH/RestEase-Client-Generator/wiki/Options


Demo

Blazor WebAssembly Demo

Example

Input Yaml file 'PetStore.yaml'

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).

Generate file 'PetStore.cs'

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).

Create a Client and call methods

var petStoreApi = RestClient.For<IPetStoreApi>("https://petstore.swagger.io/v2"); var findPetsByTags = await petStoreApi.FindPetsByTagsAsync(new[] { "cat" });

Screenshots

Add new specification and generate client code

Add from OpenAPI Specification Enter URL to OpenAPI Specification

Generate client code for existing .json, .yml or .yaml file

Solution Explorer Context Menus

Credits

About

A Visual Studio Extension to generate a RestEase compatible client based on a Swagger / OpenAPI specification files

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •