4. Routing & Controllers
ASP.NET Core Routing & Controllers - Complete Guide
Practical Guide + Technical Reference
📋 Table of Contents
Part 1: Practical Guide (Hands-On)
Part 2: Technical Reference (Deep Dive)
PART 1: PRACTICAL GUIDE
1. What is Routing?
2. Routing System Overview
Endpoint Routing (ASP.NET Core 3.0+) ⭐ Current Standard
Visual Flow
3. Creating Routes (3 Methods)
Method 1: Minimal APIs (Quick & Modern) ✨ .NET 6+
Method 2: Attribute Routing (Production Standard) ⭐ RECOMMENDED
Method 3: Convention Routing (Legacy MVC)
Comparison: Which Method?
Feature
Minimal APIs
Attribute Routing
Convention Routing
4. Controllers Deep Dive
ControllerBase vs Controller
Class
Inherit From
Use For
Has View Support
Route Attributes
Attribute
HTTP Method
Common Use
[ApiController] Attribute ✨ ASP.NET Core 2.1+
5. Action Results & Return Types
IActionResult - Flexible Return Type ⭐
Method
Status Code
Use Case
ActionResult - Type-Safe Returns ✨ ASP.NET Core 2.1+
Comparison: IActionResult vs ActionResult
Return Type
Use When
Results Class ✨ .NET 6+
6. Model Binding & Parameters
Parameter Binding Sources
Source
Attribute
Use For
Complex Binding Examples
Model Validation
7. Common Routing Patterns
RESTful API Design
API Versioning
Route Constraints
Constraint
Example
Matches
Catch-All Routes
Area Routing (Large Applications)
8. Troubleshooting Common Issues
Issue 1: Route Conflicts
Issue 2: Missing MapControllers()
Issue 3: Wrong HTTP Method
Issue 4: Model Binding Fails
9. Best Practices
API Design
Route Templates
Controllers
PART 2: TECHNICAL REFERENCE
10. Important Interfaces & Classes Reference
ControllerBase Class ⭐⭐⭐
Property
Type
Description
Method
Status
Returns
Method
Purpose
Controller Class ⭐⭐
Method
Purpose
IActionResult Interface ⭐⭐⭐
Class
Status
Usage
RouteData Class ⭐⭐
Property
Type
Description
ModelStateDictionary Class ⭐⭐
Method
Purpose
11. Configuration Deep-Dive
Pattern 1: No Configuration (Defaults)
Pattern 2: Code-Based Configuration
Pattern 3: Configuration from appsettings.json
12. Advanced Routing Topics
Custom Route Constraints
Route Value Transformers ✨ ASP.NET Core 3.0+
Link Generation
Route Debugging
13. Performance Tips
1. Use Route Constraints
2. Order Routes Efficiently
3. Use ActionResult
4. Async All The Way
Summary: Complete Routing Checklist
Last updated