
This article was written in 2018. Versions, tools and recommendations may have changed since then. Newer posts are collected under ASP.NET Core.
Due to my daily business, I have created a series of sample projects how to develop and evolve a modern API with the help of ASP.NET Core.
It starts with a simple Json API and shows the way fron a SDK-driven API up to a modern GraphQL API - all with .NET Core, C# and Open-Source Projects.
Simple Json
Shows how to deliver plain Json. In this case business models are returned like some Microsoft samples and the documentation shows. The problem: if you return business models you expose maybe too much and you lose flexibility.
Json SDK
The SDK shows how deliver isolated API models like you work in WPF with ViewModels. It’s a way to decouple business models from API models to gain flexibility.
Swagger
Compared to SOAP or OData Json by default delivers no schema about your API, your calls and contents. Swagger is an official way to describe your API.
The project contains both “big” packages for ASP.NET Core: NSwag and Swashbuckle.
OData
Shows the latest implementation of OData for ASP.NET Core.
GraphQL
Show as sample of GraphQL engine with ASP.NET Core Sample queries:
1## Books
2
3{
4 books{
5 name,
6 price
7 }
8}
9
10## Authors
11
12{
13 author(id: "##guid of user##"){
14 id,
15 firstName,
16 lastName
17 }
18}You can find the source on GitHub: https://github.com/BenjaminAbt/2018-Talks-ModernApiDevelopment
Related articles

- 12 min read
Problem Details in ASP.NET Core and .NET 11
builder.Services.AddProblemDetails() registers infrastructure. It does not create an error contract. An ASP.NET Core request can fail during …

- 11 min read
Resilience in .NET with Microsoft.Extensions.Resilience
Retries are the most visible resilience strategy and the easiest one to misuse. Repeating a failing call can recover from a short network …

- 10 min read
What Matters in ASP.NET Core 11
ASP.NET Core 11 has no single feature that fundamentally changes how web applications are built. That is not a criticism. Mature frameworks …
Let's Work Together
Looking for an experienced Platform Architect or Engineer for your next project? Whether it's cloud migration, platform modernization or building new solutions from scratch - I'm here to help you succeed.
