Tool that automatically infers TypedRest Endpoints from patterns in OpenAPI/Swagger documents and generates source code for TypedRest clients. It currently only supports generating C# clients.
Generate the client during compilation:
dotnet add package TypedRest.CodeGeneration.CSharp.SourceGenerator
<ItemGroup>
<TypedRestOpenApi Include="myapi.yml" ServiceName="MyService" Namespace="MyCompany.MyService" />
</ItemGroup>Or write it to disk with the command-line tool:
dotnet tool install -g typedrest-codegen
typedrest-codegen generate -f myapi.yml -o myclient/ -s MyService --generate-interfaces --generate-dtos
Read the Code generation documentation for how the inference works, how to configure both tools and what to do when the inferred client is not what you want.
Roslyn source generator that builds clients during compilation.
Command-line tool that writes the generated code to disk.
Parses OpenAPI/Swagger documents and infers TypedRest Endpoints from patterns.
Generates C# source code for TypedRest .NET clients from OpenAPI/Swagger documents.
Use the latter two to build your own generator for more complex APIs. For their types and methods take a look at the API documentation.
The source code is in src/, config for building the API documentation is in doc/ and generated build artifacts are placed in artifacts/. The source code does not contain version numbers. Instead the version is determined during CI using GitVersion.
To build run .\build.ps1 or ./build.sh (.NET SDK is automatically downloaded if missing using 0install).
We welcome contributions to this project such as bug reports, recommendations and pull requests.
This repository contains an EditorConfig file. Please make sure to use an editor that supports it to ensure consistent code style, file encoding, etc.. For full tooling support for all style and naming conventions consider using JetBrains' ReSharper or Rider products.