Modern API-Development with 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:

## Books

{
  books{
    name,
    price
  }
}

## Authors

{
  author(id: "##guid of user##"){
    id,
    firstName,
    lastName
  }
}

You can find the source on GitHub: https://github.com/BenjaminAbt/2018-Talks-ModernApiDevelopment