{"id":15655618,"url":"https://github.com/stefh/restease-client-generator","last_synced_at":"2025-06-15T15:35:47.255Z","repository":{"id":40800578,"uuid":"229539944","full_name":"StefH/RestEase-Client-Generator","owner":"StefH","description":"A Visual Studio Extension to generate a RestEase compatible client based on a Swagger / OpenAPI specification files","archived":false,"fork":false,"pushed_at":"2025-04-14T13:48:36.000Z","size":18052,"stargazers_count":24,"open_issues_count":5,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-10T04:04:20.527Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StefH.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-12-22T08:37:20.000Z","updated_at":"2024-03-03T11:26:20.000Z","dependencies_parsed_at":"2025-04-19T08:25:46.492Z","dependency_job_id":"f9afbdf3-11ad-41c0-91d7-a8b898c819ac","html_url":"https://github.com/StefH/RestEase-Client-Generator","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/StefH/RestEase-Client-Generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefH%2FRestEase-Client-Generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefH%2FRestEase-Client-Generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefH%2FRestEase-Client-Generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefH%2FRestEase-Client-Generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StefH","download_url":"https://codeload.github.com/StefH/RestEase-Client-Generator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefH%2FRestEase-Client-Generator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259998185,"owners_count":22943767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T13:00:04.493Z","updated_at":"2025-06-15T15:35:47.227Z","avatar_url":"https://github.com/StefH.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RestEase-Client-Generator\nGenerate a [RestEase](https://github.com/canton7/RestEase) compatible client (Interface \u0026 Models) based on a [Swagger / OpenApi](https://swagger.io/specification/) or [RAML](https://raml.org/) specification.\n\n## :one: NuGet Package\n[![NuGet Badge](https://buildstats.info/nuget/RestEaseClientGenerator)](https://www.nuget.org/packages/RestEaseClientGenerator)\n\n\n## :two: dotnet tool\n\n[![NuGet Badge dotnet-resteaseclientgenerator](https://buildstats.info/nuget/dotnet-resteaseclientgenerator)](https://www.nuget.org/packages/dotnet-resteaseclientgenerator)\n\n#### [Installation \u0026 Usage](https://github.com/StefH/RestEase-Client-Generator/wiki/Tool)\n\n## :three: Visual Studio Extension\n\n[![Version](https://vsmarketplacebadge.apphb.com/version/StefHeyenrath.RestEaseClientGenerator.svg)](https://marketplace.visualstudio.com/items?itemName=StefHeyenrath.RestEaseClientGenerator) \n[![Installs](https://vsmarketplacebadge.apphb.com/downloads-short/StefHeyenrath.RestEaseClientGenerator.svg)](https://marketplace.visualstudio.com/items?itemName=StefHeyenrath.RestEaseClientGenerator) \n[![Rating](https://vsmarketplacebadge.apphb.com/rating-star/StefHeyenrath.RestEaseClientGenerator.svg)](https://marketplace.visualstudio.com/items?itemName=StefHeyenrath.RestEaseClientGenerator)\n\n### Features\n- Supports Visual Studio 2017 and 2019\n- Add New RestEase API Client to a project from an OpenAPI specification URL (e.g https://petstore.swagger.io/v2/swagger.json)\n- Define custom namespace for the generated file\n- Auto-updating of generated code file when changes are made to the specification file (.json, .yml, .yaml, .raml)\n- This Visual Studio Extension will automatically add the required nuget packages that the generated code depends on.\n\n#### [Installation \u0026 Usage](https://github.com/StefH/RestEase-Client-Generator/wiki/NuGet)\n\n## Options\n\nSee https://github.com/StefH/RestEase-Client-Generator/wiki/Options\n\n---\n\n# Demo\n[Blazor WebAssembly Demo](https://stefh.github.io/RestEase-Client-Generator/)\n\n\n# Example\n\n### Input Yaml file 'PetStore.yaml'\nExcerpt...\n``` yml\npaths:\n  /pet:\n    post:\n      tags:\n        - pet\n      summary: Add a new pet to the store\n      description: ''\n      operationId: addPet\n      consumes:\n        - application/json\n        - application/xml\n      produces:\n        - application/xml\n        - application/json\n      parameters:\n        - in: body\n          name: body\n          description: Pet object that needs to be added to the store\n          required: true\n          schema:\n            $ref: '#/definitions/Pet'\n```\n([Full example](https://github.com/StefH/RestEase-Client-Generator/blob/master/examples/RestEaseClientGeneratorConsoleApp/petstore.yaml)).\n\n### Generate file 'PetStore.cs'\nExcerpt...\n``` c#\nnamespace RestEaseClientGeneratorConsoleApp.PetStoreJson.Api\n{\n    public interface IPetStoreApi\n    {\n        /// \u003csummary\u003e\n        /// Add a new pet to the store\n        /// \u003c/summary\u003e\n        /// \u003cparam name=\"pet\"\u003eA pet for sale in the pet store\u003c/param\u003e\n        [Post(\"/pet\")]\n        Task AddPetAsync([Body] Pet pet);\n\n        // More methods ...\n    }\n}\n\nnamespace RestEaseClientGeneratorConsoleApp.PetStoreJson.Models\n{\n    public class Pet\n    {\n        public long Id { get; set; }\n\n        // More properties ...\n    }\n}\n```\n([Full example](https://github.com/StefH/RestEase-Client-Generator/blob/master/examples/RestEaseClientGeneratorConsoleApp/PetStoreJson/PetStoreJson.cs)).\n\n### Create a Client and call methods\n``` c#\nvar petStoreApi = RestClient.For\u003cIPetStoreApi\u003e(\"https://petstore.swagger.io/v2\");\n\nvar findPetsByTags = await petStoreApi.FindPetsByTagsAsync(new[] { \"cat\" });\n```\n\n## Screenshots \n\n### Add new specification and generate client code\n![Add from OpenAPI Specification](https://github.com/StefH/RestEase-Client-Generator/raw/master/resources/add-new.png)\n![Enter URL to OpenAPI Specification](https://github.com/StefH/RestEase-Client-Generator/raw/master/resources/openurl.png)\n\n### Generate client code for existing .json, .yml or .yaml file\n![Solution Explorer Context Menus](https://github.com/StefH/RestEase-Client-Generator/raw/master/resources/generate.png)\n\n## Credits\n- Project source code is based on [REST API Client Code Generator](https://github.com/christianhelle/apiclientcodegen)\n- Code used from https://raw.githubusercontent.com/andeart/CaseConversions/master/CaseConversions/CaseConversion.cs\n- Code used from https://www.codeproject.com/articles/6294/description-enum-typeconverter\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefh%2Frestease-client-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefh%2Frestease-client-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefh%2Frestease-client-generator/lists"}