
Advance through beginner, intermediate, and advanced levels by mastering basic API CRUD operations and repository pattern, layered architecture with DDD, data seeding, .NET identity, and deployment of REST APIs.
Acquire basic programming knowledge before continuing, and install Visual Studio Community and Postgres SQL to meet the course software prerequisites.
Develop two projects: project one covers basic rest api concepts and development, while project two explores layered architecture with domain driven design and advanced rest api concepts.
Create a product via http post in a net core rest api by scaffolding an api controller, injecting app db context, and posting a json body to api/product.
Learn how http put updates a product by id, validate id mismatch, return bad request or no content after save changes, and beware entity framework may create missing records.
Implement the repository pattern with IProductRepository and ProductRepository to perform CRUD via a database context, using dependency injection and addScoped.
Learn about data transfer objects dto to avoid exposing domain models in a net core rest api, by creating brand create dto, brand update dto, and brand dto.
Define a brand service interface with get, create, update, patch, delete, and existence checks; implement it with a brand repository and map between domain models and dtos.
Create a product model inheriting from the base model with name, brand ID, category ID, price, and stock quantity; define brand and category as foreign keys to support one-to-many relationships.
Build a product api with layered architecture and ddd, define product repository contract and generic repository, create dtos for create/update and product view, implement service and controller, test via swagger.
Learn how middleware sits between client requests and backend responses to modify requests and responses, including converting 500 errors to 400 bad requests for clarity.
Learn to secure a .NET core rest api with EF Core Identity by defining app user and user role classes, configuring identity stores, running migrations, and seeding default roles.
Register a workspace user via an input model with first name, last name, email, password, and role, using identity user manager to create, hash the password, and assign the role.
Learn the difference between basic and JWT authentication, implementing a client–server api with username and password verification, issuing a JWT token, and securing subsequent requests with token-based access and expiry.
Implement a login flow with email and password input, validate the user via the user manager, and return a login response containing the user ID and a JWT token.
Secure a .NET Core REST API by implementing JWT bearer authentication, role-based authorization, and Swagger security definitions, configuring issuer, audience, and signing keys to protect endpoints.
Model a sales domain with an order and order items, linked to the app user and total bill amount, and configure ef core with a composite key for order items.
Create the IOrderRepository under contract, make it public, implement OrderRepository in infrastructure with ApplicationDbContext, pass it to the base, and register the repository.
Define order create dto and related order item dto, validate user and products, calculate total bill with grouping, adjust stock, create order with items, expose secured post endpoint for customers.
Implement a gate API to fetch order details using projection, selecting only needed fields from order and order item data via get async.
Install api versioning packages, configure program.cs with default version and readers (uri segment, query string, header), enable swagger explorer, and split controllers into v1 and v2 exposing api/v1/brand and api/v2/brand.
Implement city log in net core rest api by installing city log, configuring appsettings and program.cs, and injecting logger in controllers to log information and warnings to daily log files.
Mastering .NET API Development with Comprehensive Content
Are you ready to become a proficient .NET API developer? Join us in this dynamic course where we'll delve into the intricacies of building robust and efficient APIs using the .NET Core. Whether you're a seasoned developer seeking to enhance your skills or a newcomer eager to learn, this course is designed to cater to all proficiency levels.
Course Highlights:
API CRUD Operations: Learn to create, retrieve, update, and delete data using API endpoints, mastering the fundamental operations that drive application functionality.
Database Connectivity: Understand the essential concepts of connecting your API to various databases, ensuring seamless data interaction.
Entity Framework Core: Dive into the powerful ORM tool to simplify database operations and optimize data access.
Data Annotation: Discover how to use data annotations for model validation, ensuring data integrity and reliability.
N-Tier Architecture: Explore the benefits of structuring your application into distinct layers for improved scalability, maintainability, and code organization.
Domain-Driven Design (DDD): Learn how to design software by aligning it with real-world business domains. Understand key DDD concepts such as Entities, Value Objects, Aggregates, Repositories, and Bounded Contexts. Discover how DDD improves code clarity, maintainability, and collaboration between developers and domain experts.
Dependency Injection: Learn the art of injecting dependencies into your application.
Data Transfer Objects [DTO]: Master the creation of DTOs to enhance data transmission efficiency and security.
Mapster: Streamline the process of mapping data between different layers, reducing complexity and boosting productivity.
Repository Pattern: Grasp the concepts of the repository pattern for improved data access and separation of concerns.
Exception Handling: Discover strategies to handle exceptions gracefully, preventing disruptions and maintaining application stability.
Data Seeding: Explore methods for initializing your database with sample data, aiding in testing and development.
.NET Identity: Dive into the world of user management and authentication with .NET Identity, laying the foundation for secure application access.
Authentication & Authorization: Understand the principles of authentication and authorization, controlling access to your APIs effectively.
Secure API with JWT Token: Learn how to enhance API security using JSON Web Tokens (JWT) for secure data transmission.
Role-Based API Access: Implement role-based access control, ensuring that different users have appropriate levels of access to your APIs.
Logging: Explore effective logging techniques to capture valuable information for debugging and monitoring.
Response Caching: Improve API performance with response caching, reducing redundant data requests.
API Versioning: Understand the importance of versioning your APIs and how to implement it seamlessly.
Azure Deployment: Get hands-on experience in deploying your API to Azure for public access.
Join us on this comprehensive journey as we cover these essential concepts and techniques. By the end of this course, you'll have the skills and confidence to build powerful, secure, and feature-rich APIs using the .NET Core 8. Enroll now and unlock a world of possibilities in the realm of API development.