Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

NDC Conferences

An Opinionated, Maintainable REST API Architecture for ASP.NET Core

NDC Conferences via YouTube

Overview

Explore an opinionated and maintainable REST API architecture for ASP.NET Core in this conference talk. Learn how to create scalable APIs that avoid common pitfalls of scaffolding and poor separation of concerns. Discover techniques for dependency injection, request validation, service execution, error handling, and versioning strategies. Gain insights into implementing CQRS, separating entities from models, using Fluent Validation, and leveraging MediatR for request handling. Understand the benefits of using Autofac for dependency injection and creating repeatable patterns. Get tips on writing comprehensive tests and keeping API versions separate to ensure long-term maintainability and scalability of your ASP.NET Core-powered RESTful APIs.

Syllabus

Intro
SETTING THE STAGE "We need a new SPA "We need a new REST API
ZERO TO "MAKE MAGIC HAPPEN"
THE EMPLOYEE OBJECT • Is part of payroll software • Contains sensitive data (SSN)
A WILD EmployeesController APPEARED
The reality SCAFFOLDING IS A LIE
Route the request Validate Run service for request Return data
NO SEPARATION OF CONCERNS
CONTROLLER SHOULD ONLY Route the request Return data
CQRS Command Query Responsibility Segregation
Problem? ENTITY BEING USED FOR REQUESTS MODEL/MODEL VALIDATION ARE NOT SEPARATE
SEPARATE ENTITY FROM MODEL So let's refactor
SEPARATE VALIDATION FROM MODEL INTRODUCING FLUENT VALIDATION
ISOLATE VALIDATION FUNCTIONALITY
SEPARATE REQUEST HANDLER FROM CONTROLLER INTRODUCING MEDIATR
PUTTING IT ALL TOGETHER 1. Dependency injection handles... dependencies 2. Mediat will handle request/responses 3. Controller will route HTTP requests
USE BETTER DI CONTAINER INTRODUCING AUTOFAC
USE AUTOFAC TO • Scan assemblies for services/validators • Add them to service pipeline
TIPS
CREATE REPEATABLE PATTERNS more complete example
WRITE TESTS FOR EVERYTHING
KEEP VERSIONS SEPARATE
CONCERNS May be unnecessary complexity • Bigger learning curve

Taught by

NDC Conferences

Reviews

Start your review of An Opinionated, Maintainable REST API Architecture for ASP.NET Core

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.