ASP.NET

Web API Development with ASP.NET Core 6 (ASPNETTL502)

Course Length: 3 days

This 3-day ASP.NET course focuses on building Web APIs that are going to be used by a different front-end (React, Angular, etc.).

Web API Development with ASP.NET Core 6

Register or Request Training

  • Private class for your team
  • Live expert instructor
  • Online or on‑location
  • Customizable agenda
  • Proposal turnaround within 1–2 business days

Course Overview

This ASP.NET Core 6 training course teaches attendees how to design and build high-performance, secure, well-architected REST APIs that can be consumed by a variety of clients. This course focuses specifically on APIs and does not include coverage of web UI topics such as Views and Razor Pages. An introduction to Blazor is included but it is not covered in-depth.

Note: This 4-day training course can be extended to five days with additional topics related to the C# programming language or Entity Framework Core.

Course Benefits

  • Understand the goals and benefits of ASP.NET Core 6.0.
  • Learn to make good decisions about application architecture and data access technology.
  • Use ASP.NET’s routing system to achieve a REST-style architecture.
  • Gain experience building a service that makes data available via a modern web API.
  • Learn best practices for employing unit testing, logging, and error handling.
  • Understand different authentication choices for securing a web API.
  • Get an introduction to Blazor and gRPC.
  • Understand the different cross-platform deployment options available including via Docker containers.

Delivery Methods

Course Outline

  1. Introduction
    1. Evolution of .NET and .NET Core
    2. .NET SKDs and Runtimes
    3. Visual Studio and Visual Studio Code
  2. .NET 6.0 SDK
    1. Installation
    2. Version Management
    3. Command-Line Interface (CLI)
  3. What’s New in C#
    1. Record Types
    2. Init Only Setters
    3. Nullable Reference Types
    4. Global Using Directives
    5. File-Scoped Namespace Declarations
    6. Top-Level Statements
  4. ASP.NET Core Application Architecture
    1. NuGet Packages
    2. Application Startup
    3. Hosting Environments
    4. Middleware and the Request Pipeline
    5. Services and Dependency Injection
  5. Application Configuration
    1. Configuration Providers and Sources
    2. Configuration API
    3. Options Pattern
    4. HTTPS and HTTP/2
  6. Request Routing
    1. RESTful Services
    2. Endpoint Routing
    3. Route Templates
    4. Route Constraints
    5. Route Template Precedence
    6. Attribute-Based Routing
  7. Models
    1. Persistence Ignorance
    2. Dependency Inversion
    3. Asynchronous Data Access
    4. Object-Relational Mapping
    5. Entity Framework Core
    6. Dapper ORM
  8. Controllers
    1. Responsibilities
    2. Requirements and Conventions
    3. Dependencies
    4. Action Results
    5. ApiController Attribute
  9. Web APIs
    1. API Controllers
    2. Minimal APIs
    3. OpenAPI / Swagger
    4. Testing APIs
    5. Content Negotiation
    6. CRUD Operations
    7. Patch Requests
    8. Microservice Architecture
    9. API Gateway Pattern
    10. Cross-Origin Resource Sharing (CORS)
  10. Data Validation
    1. Data Annotations
    2. Model Binding
  11. Error Handling
    1. Best Practices
    2. HTTP Error Status Codes
    3. Exception Handling Middleware
  12. Logging
    1. Configuration
    2. ILogger
    3. Serilog and Seq
  13. Testing
    1. Unit Testing
    2. xUnit
    3. Testing Controllers
    4. Integration Testing
  14. Security
    1. Authentication
    2. ASP.NET Identity
    3. Authorization
    4. Web API Authentication
    5. JSON Web Tokens (JWT)
    6. OAuth 2.0 and OpenID Connect
    7. Secrets Management
  15. Remote Procedure Calls (gRPC)
    1. Protobuf
    2. Server
    3. Client
    4. Limitations
  16. Blazor
    1. Razor Components
    2. Blazor Server
  17. Blazor WebAssembly
    1. Deployment
    2. dotnet publish
    3. Kestrel
    4. IIS
    5. Docker

Class Materials

Each student receives a comprehensive set of materials, including course notes and all class examples.

Class Prerequisites

Experience in the following is required for this ASP.NET class:

  • Previous experience developing web-based applications with C#.
  • Some familiarity with HTML, CSS, and JavaScript.

Prerequisite Courses

Courses that can help you meet these prerequisites:

Have questions about this course?

We can help with curriculum details, delivery options, pricing, or anything else. Reach out and we’ll point you in the right direction.