articles

WebApiClientGen vs Kiota regarding ASP.NET backend + Angular Frontend

The following content is basically generated by Windows Copilot. The content is not entirely correct reflecting the facts that human could recognize. Nevertheless, at least 95% correct.

Introduction

When building modern applications with an ASP.NET Core backend and an Angular frontend, one recurring challenge is how to generate strongly typed client APIs. Developers want to avoid repetitive boilerplate, ensure type safety, and keep backend and frontend models in sync. Two tools often considered are WebApiClientGen and Kiota. While both aim to simplify client generation, they differ fundamentally in approach and fit.


WebApiClientGen: A Component Set for Native Angular Integration

WebApiClientGen is a modular toolkit that generates C# and TypeScript client APIs directly from ASP.NET Core Web API controllers — without requiring Swagger/OpenAPI.

Key Features

Why It Fits Angular Developers


Kiota: An OpenAPI-Based Generator

Kiota, developed by Microsoft, generates strongly typed clients from OpenAPI specifications. It supports multiple languages, including TypeScript, C#, Java, Python, and Go.

Key Features

Limitations for Angular Developers


Side-by-Side Comparison

Feature WebApiClientGen Kiota
Input ASP.NET Core controllers (runtime types) OpenAPI/Swagger spec required
C# client generation ✅ Yes ✅ Yes
TypeScript client generation ✅ Yes (Angular, Aurelia, Axios, Fetch, jQuery) ✅ Yes (Fetch API, Node.js)
Angular HttpClient support ✅ Native, RxJS Observables ❌ Not supported (Fetch only)
Swagger/OpenAPI dependency ❌ None ✅ Required
POCO → TypeScript conversion ✅ Built-in ❌ Not available
Best fit ASP.NET + Angular (Code First) Multi-language SDKs (OpenAPI)

Recommendation for ASP.NET + Angular Developers

If your stack is ASP.NET Core backend + Angular frontend, and you want native Angular HttpClient integration without Swagger/OpenAPI, the most appropriate choice is:

WebApiClientGen Component Set

Kiota is powerful if you need multi-language SDKs from OpenAPI specs (e.g., distributing APIs to external developers in Java, Python, Go). But for internal Angular + ASP.NET projects, WebApiClientGen offers a more direct, developer-friendly pipeline.


Conclusion

For an application developer building ASP.NET Core + Angular solutions, the choice is clear:

By adopting WebApiClientGen, you streamline your workflow, reduce boilerplate, and ensure type safety across backend and frontend — exactly what modern full-stack teams need.


Using WebApiClientGen in ASP.NET Core + Angular

1. Install the NuGet Packages

On your ASP.NET Core Web API project, add the required packages:

dotnet add package Fonlow.WebApiClientGenCore
dotnet add package WebApiClientGenCore.NG2
or
dotnet add package WebApiClientGenCore.NG2FormGroup

For more details, please check “Generate Typed FormGroup of Angular Reactive Forms with ASP.NET Core Web API