Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Minimal APIs in ASP.NET 9
Minimal APIs in ASP.NET 9

Minimal APIs in ASP.NET 9: Design, implement, and optimize robust APIs in C# with .NET 9 , Second Edition

Arrow left icon
Profile Icon Nick Proud
Arrow right icon
$24.99 $27.99
eBook Dec 2024 252 pages 2nd Edition
eBook
$24.99 $27.99
Paperback
$34.99
Subscription
Free Trial
Renews at $19.99p/m
Arrow left icon
Profile Icon Nick Proud
Arrow right icon
$24.99 $27.99
eBook Dec 2024 252 pages 2nd Edition
eBook
$24.99 $27.99
Paperback
$34.99
Subscription
Free Trial
Renews at $19.99p/m
eBook
$24.99 $27.99
Paperback
$34.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Minimal APIs in ASP.NET 9

Getting Up and Running with Minimal API Development

As users, we associate interacting with an application with a User Interface (UI). This interface consists of interactive elements that allow for interaction between the code and user. You can think of this like the storefront, a place where you can browse the available wares or request appropriate action, for example, booking a vacation or adding items to your shopping cart.

If the UI is where customers interact with our store, an Application Programming Interface (API) is the back of the store. This is where we receive deliveries, move goods, process orders, and manage inventory.

Most developers have some experience in interacting with or writing APIs, but what makes minimal APIs different?

Minimal APIs were introduced by Microsoft in 2021 with the release of .NET 6. The aim was to empower developers to create APIs with a minimum of boilerplate code, allowing them to focus on the essentials of the business logic in use...

Technical requirements

To follow the directions in this chapter, you’ll need to have the following installed on your Windows, macOS, or Linux machine:

  • .NET 9.0 Software Development Kit (SDK)
  • Visual Studio or Visual Studio Code
  • C# extension for Visual Studio Code (if you are using Visual Studio Code)

If you’re working in Windows, it’s recommended that you use Visual Studio, although Visual Studio Code will still work. If you’re a Mac or Linux user, you should use Visual Studio Code. (At the time of writing, Visual Studio for Mac is set to be retired on August 31, 2024.)

The code for this chapter is available in the GitHub repository at: https://github.com/PacktPublishing/Minimal-APIs-in-ASP.NET-9.

Understanding minimal APIs

When it comes to designing and building APIs, we’re spoilt for choice with varying styles, approaches, and templates. .NET has proven itself over the years to be a fantastic choice for general-purpose API development. Modern .NET provides us with two main types of API framework, one more traditional than the other. One of the options is, of course, the minimal API, which is still a relatively new feature within .NET compared to its predecessor, the controller-based API.

With minimal APIs, the aim is simplicity. Less code, less ceremony, and less complexity. As a result, minimal APIs are well suited to microservice architectures, where you have lots of small components all requiring a means of transferring data between each other.

Their simplicity also makes them easier to read, as a small block of code can take care of all the classic features of an API, such as receiving HTTP requests, routing, utilizing dependencies, accessing services, and...

Contrasting minimal APIs with traditional API approaches

The more traditional API format in .NET compared to minimal APIs is controller-based APIs. These are more commonly seen in ASP.NET Model-View-Controller (MVC) projects, or in ASP.NET web API projects. However, whether you’re building an MVC project or not, both API types utilize controllers.

Controllers are simply classes, with many responsibilities within the API, such as the following:

  • Handling incoming requests via actions, which are interacted with using various HTTP methods, such as GET, POST, PUT, DELETE, and PATCH.
  • Processing data sent in the request via query string parameters or within the request body.
  • Interaction with data models and processing of business logic via services.
  • Generation of responses to calling clients. These responses could be in JSON, XML, or many other formats.

    Routing of requests to other areas of the application, that is, directing to a page at a specific URL.

...

The significance of minimal APIs in modern development

The concept of creating more lightweight and simple APIs has been around for some time, but the adoption of minimal APIs has increased over the years. Flask and Express.js have historically promoted some elements of minimalism in API development within Python and Node.js, respectively, but compared to its counterparts, .NET’s recent entry into the market is specifically designed to exploit the advantages of lightweight, simple APIs.

Now that minimal APIs have arrived and are being used in mainstream development projects, developers are enjoying the benefits of not having to perform lots of setup and configuration. They can have a working API up and running in two minutes and deploy it to the cloud in another two. This provides phenomenal advantages for industries in which getting software to market quickly is critical to success.

In addition, the APIs you write can take advantage of .NET’s mature, cross-platform...

Installing required tools and dependencies

For us to begin working with minimal APIs, we need to install some tools.

Let us start by installing the .NET 9.0 SDK. Navigate to Microsoft’s .NET SDK downloads page at https://dotnet.microsoft.com/en-us/download/dotnet. (This can be skipped if you already have the SDK installed.)

At the time of writing, the SDK is available by doing the following:

  1. Choose the appropriate build for your operating system and system architecture. For example, if you are running 64-bit Windows, you would download x64. Likewise, if you were running a Mac with an ARM CPU, you would select Arm64 next to macOS. Linux tends to be a little different because a package manager is used to obtain the SDK.

    If you are a Linux user, follow the relevant Microsoft documentation for your specific Linux distribution:

Figure 1.1: Choosing the right installer

Figure 1.1: Choosing the right installer

Before we move on, let us quickly differentiate between installers...

Configuring development environments

We’ll start to develop our first minimal API in the next chapter, but before that, let’s create the project structure needed for us to start writing code.

To build minimal APIs, we need to be working within an ASP.NET Core project. Depending on whether you are using Visual Studio or Visual Studio Code, there are several ways you can create this type of project.

Creating a project in Visual Studio

Let’s begin by creating a project in Visual Studio:

  1. Open Visual Studio.
  2. The screen shown in the following figure gives you the option to search for the type of project you wish to create. Search for ASP.NET Core Empty and select it from the list, before clicking Next. (Make sure you choose the C# version of the template. Do not use the F# version, as this is not within the scope of this book.)
Figure 1.5: Visual Studio’s new project creation screen

Figure 1.5: Visual Studio’s new project creation screen

  1. Give your new project...

Summary

In this chapter, you learned about the role of minimal APIs in modern application development, and you should now have a good general understanding of their advantages.

You learned how minimal APIs differ from controller-based APIs in .NET, and gained an understanding of the advantages and disadvantages of these two formats.

You installed the basic required libraries and tools to get started on your journey and learned how to create a new project in Visual Studio or Visual Studio Code.

The key takeaway from this chapter is that minimal APIs promote simplicity, high performance, and maintainability.

In the next chapter, we will start writing our first Minimal API endpoints, which will be able to handle various HTTP methods on different routes. We will minimal build responses to send back to clients and make calls to our API.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Get to grips with API design, architecture, and development methodologies to create elegant and scalable APIs in .NET
  • Get insights into contemporary trends and tools shaping the API industry
  • Explore both basic and advanced topics such as optimization, data integration, and caching
  • Purchase of the print or Kindle book includes a free PDF eBook

Description

Written by an esteemed technology leader, a .NET specialist, and Microsoft MVP for Developer Technologies, Minimal APIs in ASP.NET 9 provides you with specialized insights into the latest advancements in .NET technology, particularly minimal APIs. You’ll get your first minimal API set up and running, before exploring the anatomy of a typical minimal API project, seeing how the framework can be used to create various HTTP endpoints, route, and validate requests, as well as enhancing those requests with custom middleware. After covering the basics, you’ll move on to data mapping, managing important dependencies through dependency injection and integrating your minimal APIs with data sources such as Entity Framework, Dapper, and SQL databases for creating CRUD operations. The chapters also walk you through performance optimization, asynchronous programming, and caching, which’ll allow you to examine the more advanced aspects of minimal API development, with code examples reflecting real-world scenarios. By the end of this book, you’ll be armed with the necessary best practices and skills needed for deploying performant, elegant, and scalable minimal APIs in .NET.

Who is this book for?

If you’re a generalist developer looking for a fresh perspective on API development with an emphasis on minimalism, then this book is for you. Aimed at intermediate developers, this book strikes the right balance between accessibility and depth. The book assumes an intermediate level of C# and .NET knowledge, while providing sufficient guidance and explanations to help you progress confidently through the chapters.

What you will learn

  • Become proficient in minimal APIs within the .NET Core 9 framework
  • Find out how to ensure scalability, performance, and maintainability
  • Work with databases and ORMs, such as Entity Framework and Dapper
  • Optimize minimal APIs, including asynchronous programming, caching strategies, and profiling tools
  • Implement advanced features like dependency injection, request validation, data mapping, and routing techniques
  • Create and configure minimal API projects effectively

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Dec 06, 2024
Length: 252 pages
Edition : 2nd
Language : English
ISBN-13 : 9781805123545
Vendor :
Microsoft
Languages :
Concepts :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Dec 06, 2024
Length: 252 pages
Edition : 2nd
Language : English
ISBN-13 : 9781805123545
Vendor :
Microsoft
Languages :
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Table of Contents

20 Chapters
Part 1 - Introduction to Minimal APIs Chevron down icon Chevron up icon
Chapter 1: Getting Up and Running with Minimal API Development Chevron down icon Chevron up icon
Chapter 2: Creating Your First Minimal API Chevron down icon Chevron up icon
Chapter 3: The Anatomy of a Minimal API Chevron down icon Chevron up icon
Part 2 - Data and Execution Flow Chevron down icon Chevron up icon
Chapter 4: Handling HTTP Methods and Routing Chevron down icon Chevron up icon
Chapter 5: The Middleware Pipeline Chevron down icon Chevron up icon
Chapter 6: Parameter Binding Chevron down icon Chevron up icon
Chapter 7: Dependency Injection in Minimal APIs Chevron down icon Chevron up icon
Chapter 8: Integrating Minimal APIs with Data Sources Chevron down icon Chevron up icon
Chapter 9: Object Relational Mapping with Entity Framework Core and Dapper Chevron down icon Chevron up icon
Part 3 - Optimal Minimal APIs Chevron down icon Chevron up icon
Chapter 10: Profiling and Identifying Bottlenecks Chevron down icon Chevron up icon
Chapter 11: Utilizing Asynchronous Programming for Scalability Chevron down icon Chevron up icon
Chapter 12: Caching Strategies for Enhanced Performance Chevron down icon Chevron up icon
Part 4 - Best Practices, Design, and Deployment Chevron down icon Chevron up icon
Chapter 13: Best Practices for Minimal API Resiliency Chevron down icon Chevron up icon
Chapter 14: Unit Testing, Compatibility, and Deployment of Minimal APIs Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.