I was investigating some ways to generate a C# client library based on the OpenAPI definition of my REST API. One of the solutions I found was AutoRest.
AutoRest is an open source tool created by Microsoft so that Azure service teams could start producing generated client libraries from new Swagger and OpenAPI 2.0 specifications.
Install AutoRest
To install AutoRest, you can use NPM:
# Depending on your configuration you may need to be elevated or root to run this. (on OSX/Linux use 'sudo' ) npm install -g autorest # run using command 'autorest' to check if installation worked autorest – --help
Generate a C# client
To generate a C# client, you first need to have your OpenAPI file available. When you are using Swashbuckle in ASP.NET Core, you can browse to the swagger endpoint and download the swagger.json.
Next step is to invoke AutoRest:
autorest --input-file=swagger.json – --csharp
This will generate a C# project with a REST API client.