Web Api
Explore curated resources about Web Api.
Resources
Articles
Microsoft REST API Guidelines
Web API design
ASP.NET Core 5 Route to Code: Taking advantage of Microsoft.AspNetCore.Http json extensions
Use ASP.NET Core route-to-code for simple JSON APIs
Nano services with ASP.NET Core or how to build a light API
Basic JSON APIs with Route-to-code in ASP.NET Core
Using action results and content negotiation with "route-to-code" APIs
Model Binding - ASP.NET Core Demystified
Beautiful and compact Web APIs with C# 9, .NET 5.0 and ASP.NET Core
Building microservices with ASP.NET Core (without MVC)
Finally the ASP.NET 5 Web API Blog Series!
ASP.NET Core in .NET 5 – pass parameters to actions
Model Binding in ASP.NET Core
Custom Model Binding in ASP.NET Core
Asp.Net Core Model Binding: Controlling The Binding Source
Use ASP.NET Core route-to-code for simple JSON APIs
Using action results and content negotiation with route-to-code APIs
Creating Discoverable HTTP APIs with ASP.NET Core 5 Web API
Open source HTTP API packages and tools
Microsoft
MVC Controllers are Dinosaurs Embrace API Endpoints
Moving from Controllers and Actions to Endpoints with MediatR
Steve Smith
MVC Controllers are Dinosaurs - Embrace API Endpoints
Steve Smith
Feature Slices for ASP.NET Core MVC
Steve Smith
API Feature Folders
What is the difference between a DTO and a POCO (or POJO)
Give better names to your DTOs
Immutability in DTOs?
Immutability in C#
Trying the REST Client extension for VSCode
ASPNET Core Razor Pages – Worth Checking Out?
How To Build A Basic HTTP API With ASP.NET Core
Richardson Maturity Model
RESTful API Design: 13 Best Practices to Make Your Users Happy
Best Practices for Designing a Pragmatic RESTful API
The Web API Checklist -- 43 Things To Think About When Designing, Testing, and Releasing your API
Design Topics
Design Guidelines
14 to 2 seconds: how I improved the performance of an endpoint by 82% - part 1
14 to 2 seconds: how I improved the performance of an endpoint by 82% - part 2
How to Ping an endpoint with C#
Generic and dynamically generated controllers in ASP.NET Core MVC
Using HTTP Methods (GET, POST, PUT, etc.) in Web API
Routing in ASP.NET Web API
Routing and Action Selection in ASP.NET Web API
Attribute Routing in ASP.NET Web API 2
Create a REST API with Attribute Routing in ASP.NET Web API 2
The ASP.NET Web API 2 HTTP Message Lifecycle in 43 Easy Steps
HTTP Status Codes in ASP.NET Web API - A Guided Tour
Preventing fat/bloated/god controllers by following a simple endpoint pattern
Scalable and Performant ASP.NET Core Web APIs: Asynchronous Code
Scalable and Performant ASP.NET Core Web APIs: Introduction
Scalable and Performant ASP.NET Core Web APIs: Profiling and Monitoring
Scalable and Performant ASP.NET Core Web APIs: Server Caching
Elegant way of producing HTTP responses in ASP.NET Core outside of MVC controllers
Fetch API, Streams API, NDJSON, and ASP.NET Core MVC
Accepting Raw Request Body Content in ASP.NET Core API Controllers
Passing correlation id across requests
ASP.NET CORE CORRELATION IDS
Asynchronous Programming with Async and Await in ASP.NET Core
Preventing Duplicate Web Requests To ASP.NET Core
Using Refit in ASP.NET Core to remove boilerplate code when consuming REST endpoints
Refit Basics
Idempotency for Fault-Tolerant Web APIs
ASP.NET Core Endpoints. Add endpoint-enabled middleware by using IEndpointRouteBuilder extension method
Open API support for ASP.NET Core Minimal API
ASP.NET Core 5 Model Binding to C# 9 Record Types
Beautiful and compact Web APIs revisited – with C# 10 and .NET 6 Preview 7
New .NET 6 APIs driven by the developer community
ASP.NET Core 6: Streaming JSON responses with IAsyncEnumerable, example with Angular
Videos
ASP.NET Core Series Route to Code
NET Core 3.1 MVC REST API - Full Course
ASP.NET Community Standup Flexible HTTP APIs
Let's Learn .NET - Web API
ASP.NET Community Standup - Building HTTP APIs
Integrating PowerApps with .NET Web APIs
BEYOND Status Codes! Better REST HTTP API Error Responses
Build an API Gateway with Envoy and use with .NET Core APIs
Hiding ASP.NET API Endpoints
MVC REST API Tutorial in 5 Hours | ASP.NET CORE Web API | Tutorial | .NET 5
Why Asynchronous Web API Endpoints | RESTful | async await
ASP.NET CORE Web API / REST API - Frank Liu, Yuotube Playlist
Best Practices for Building Async APIs with ASP.NET Core
Building an Async API with ASP.NET Core
ASP.NET Core Series: Route To Code
ASP.NET Core Series: Endpoint Routing
.NET 5 REST API Tutorial - Build From Scratch With C#
.NET 5 REST API Tutorial
Creating an API SDK with Refit | ASP.NET Core 5 REST API Tutorial 23
How to build RESTful APIs the right way
Extending .NET Minimal APIs with Swagger, Authentication & Validation
In defence of .NET Minimal APIs | Refactoring
Clean up your .NET Controllers with ApiEndpoints
A new way to build CLEAN and FAST APIs in .NET
GUIDs and UUIDs are cool, but this is cooler
Minimal APIs just got all I wanted in .NET 7
Building a Serverless REST API in .NET with AWS Lambda
Libraries
featherhttp/framework
A lightweight low ceremony API for web services.
ardalis/ApiEndpoints
A project for supporting API Endpoints in ASP.NET Core web applications.
CarterCommunity/Carter
Carter is framework that is a thin layer of extension methods and functionality over ASP.NET Core allowing code to be more explicit and most importantly more enjoyable.
reactiveui/refit
The automatic type-safe REST library for .NET Core, Xamarin and .NET. Heavily inspired by Square's Retrofit library, Refit turns your REST API into a live interface.
canton7/RestEase
Easy-to-use typesafe REST API client library for .NET Standard 1.1 and .NET Framework 4.5 and higher, which is simple and customisable. Inspired by Refit
StefH/RestEase-Client-Generator
A Visual Studio Extension to generate a RestEase compatible client based on a Swagger / OpenAPI specification files
HttpRepl
The HTTP Read-Eval-Print Loop (REPL) is a lightweight, cross-platform command-line tool that's supported everywhere .NET Core is supported and is used for making HTTP requests to test ASP.NET Core web APIs and view their results.
rest-client
REST Client allows you to send HTTP request and view the response in Visual Studio Code directly.
Swashbuckle.AspNetCore
Swagger tools for documenting API's built on ASP.NET Core
OpenAPI.NET
The OpenAPI.NET SDK contains a useful object model for OpenAPI documents in .NET along with common serializers to extract raw OpenAPI JSON and YAML documents from the model.
NSwag
The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript.
Crunch.vscode-openapi
This Visual Studio Code (VS Code) extension adds rich support for the OpenAPI Specification (OAS) (formerly known as Swagger Specification) in JSON or YAML format
httpstat.us
Easily generate different HTTP responses for testing
beetlex-io/FastHttpApi
davidfowl/uController
Code generated Web API framework for .NET Core
khellang/Middleware/problemdetails
Various ASP.NET Core middleware
json-api-dotnet/JsonApiDotNetCore
JSON:API Framework for ASP.NET Core
dasiths/SimpleEndpoints
A simple, convention-based, endpoint per action pattern implementation for AspNetCore 3.0+ with full support for Swagge
GeorgDangl/LightQuery
Lightweight solution for sorting and paging Asp.Net Core API results
hassanhabib/InvisibleApi
ASP.NET Library that allows developers to add an extra layer of security on top of their existing endpoints
Kahbazi/MediatR.AspNetCore.Endpoints
Biarity/Sieve
Sieve is a simple, clean, and extensible framework for .NET Core that adds sorting, filtering, and pagination functionality out of the box.
🔖 Samples
filipw/net60-webapi-samples
filipw/net50-webapi-samples
filipw/apress-recipes-webapi
Samples from ASP.NET Web API 2: Recipes book.
featherhttp/tutorial
Quick tutorials on how you you can build easy web applications with FeatherHttp. Learn how to build lightweight server-side web applications
ardalis/MediatRAspNetCore
Sample showing MediatR with ASP.NET Core
eShopOnWeb/PublicApi
Templates
ApiBoilerPlate
A simple yet organized project template for building ASP.NET Core APIs in .NET Core 3.1
CleanArchitecture
Clean Architecture Template for Blazor WebAssembly Built with MudBlazor Components.
pdevito3/craftsman
Craftsman is the workhorse behind the Wrapt framework and provides a suite of CLI commands for quickly scaffolding out new files and projects for your .NET Web APIs with simple CLI commands and configuration files.