
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

Aug 30, 2018 - 4 min read
Run ASP.NET Core with .NET Framework in a Docker Container
Sometimes you still have the requirement that the .NET Framework is needed - but you still want to use ASP.NET Core and Docker.

Jun 25, 2018 - 2 min read
Setup VSTS YAML builds for your ASP.NET Core app
Idea YAML builds are a very common way to define builds in AppVeyor, but in Visual Studio Team Services (VSTS) this feature is pretty new - …
Feb 20, 2018 - 2 min read
ASP.NET Core ModelState Validation Filter
I like my ASP.NET Core controllers and actions very clean and I recommend to not catch all Exceptions inside your Action.
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.
