Skip to content

Latest commit

 

History

History
52 lines (43 loc) · 4.18 KB

File metadata and controls

52 lines (43 loc) · 4.18 KB
title Home

TypedRest Code Generation

This website documents the API of the TypedRest Code Generation libraries. Use them to build your own tools that infer TypedRest Endpoints from patterns in OpenAPI/Swagger documents and generate client source code.

If you just want to generate a client for your API, use the source generator or the command-line tool instead. Both are built on these libraries.

var reader = new OpenApiStreamReader(new OpenApiReaderSettings().AddTypedRest());
var doc = reader.Read(File.OpenRead("myapi.yml"), out _);

foreach (var type in doc.GenerateTypedRest(new GenerationOptions("MyService")
{
    Namespace = "MyCompany.MyService",
    GenerateInterfaces = true,
    GenerateDtos = true
}))
    type.WriteToDirectory("myclient/");

NuGet packages

Package Namespace Description
TypedRest.CodeGeneration xref:TypedRest.CodeGeneration Parses OpenAPI/Swagger documents and infers TypedRest Endpoints from patterns.
TypedRest.CodeGeneration.CSharp xref:TypedRest.CodeGeneration.CSharp Generates C# source code for TypedRest .NET clients from OpenAPI/Swagger documents.
TypedRest.CodeGeneration.TypeScript xref:TypedRest.CodeGeneration.TypeScript Generates TypeScript source code for TypedRest clients from OpenAPI/Swagger documents.
TypedRest.CodeGeneration.Jvm xref:TypedRest.CodeGeneration.Jvm Shared logic for generating source code for JVM-based languages.
TypedRest.CodeGeneration.Kotlin xref:TypedRest.CodeGeneration.Kotlin Generates Kotlin source code for TypedRest clients from OpenAPI/Swagger documents.
TypedRest.CodeGeneration.Java xref:TypedRest.CodeGeneration.Java Generates Java source code for TypedRest clients from OpenAPI/Swagger documents.
TypedRest.SourceGenerator Roslyn source generator that builds clients during compilation.
typedrest-codegen Command-line tool that writes the generated code to disk.

Dependencies

flowchart TD
    cli["typedrest-codegen"] --> csharp
    cli --> java
    cli --> kotlin
    cli --> typescript
    sourcegen["TypedRest.SourceGenerator"] --> csharp
    csharp["TypedRest.CodeGeneration.<br>CSharp"] --> core
    jvm["TypedRest.CodeGeneration.<br>Jvm"] --> core
    java["TypedRest.CodeGeneration.<br>Java"] --> jvm
    kotlin["TypedRest.CodeGeneration.<br>Kotlin"] --> jvm
    typescript["TypedRest.CodeGeneration.<br>TypeScript"] --> core
    core["TypedRest.CodeGeneration"]
Loading