Book Image

Hands-On Full-Stack Web Development with ASP.NET Core

By : Tamir Dresher, Amir Zuker, Shay Friedman
Book Image

Hands-On Full-Stack Web Development with ASP.NET Core

By: Tamir Dresher, Amir Zuker, Shay Friedman

Overview of this book

Today, full-stack development is the name of the game. Developers who can build complete solutions, including both backend and frontend products, are in great demand in the industry, hence being able to do so a desirable skill. However, embarking on the path to becoming a modern full-stack developer can be overwhelmingly difficult, so the key purpose of this book is to simplify and ease the process. This comprehensive guide will take you through the journey of becoming a full-stack developer in the realm of the web and .NET. It begins by implementing data-oriented RESTful APIs, leveraging ASP.NET Core and Entity Framework. Afterward, it describes the web development field, including its history and future horizons. Then, you’ll build webbased Single-Page Applications (SPAs) by learning about numerous popular technologies, namely TypeScript, Angular, React, and Vue. After that, you’ll learn about additional related concerns involving deployment, hosting, and monitoring by leveraging the cloud; specifically, Azure. By the end of this book, you’ll be able to build, deploy, and monitor cloud-based, data-oriented, RESTful APIs, as well as modern web apps, using the most popular frameworks and technologies.
Table of Contents (22 chapters)
Title Page
PacktPub.com
Contributors
Preface
Index

Mapping the API results to DTOs


The entities definitions that we've used to work with EF Core are designed to give the best results when working with the database; however, they are not designed to be transferable over the wire. There are a few reasons why you wouldn't want to use the same classes that are mapped to your database tables and when sending results from your APIs:

  • Security: Your domain model classes might include various properties that you wouldn't want to expose to your clients. For example, personal information or user roles.
  • Loose coupling: Over time, you might need to change the data model; many times, these changes shouldn't be reflected in changes to your API, but sharing the same data types will force you to.
  • Controllable structure: The way entities are mapped to the database may include relationships that are not always simple for clients to use. Many times, it's easier for clients to work with a flattened structure.
  • Size: The API response goes over the wire, and therefore...