Book Image

Apps and Services with .NET 7

By : Mark J. Price
Book Image

Apps and Services with .NET 7

By: Mark J. Price

Overview of this book

Apps and Services with .NET 7 is for .NET 6 and .NET 7 developers who want to kick their C# and .NET understanding up a gear by learning the practical skills and knowledge they need to build real-world applications and services. It covers specialized libraries that will help you monitor and improve performance, secure your data and applications, and internationalize your code and apps. With chapters that put a variety of technologies into practice, including Web API, OData, gRPC, GraphQL, SignalR, and Azure Functions, this book will give you a broader scope of knowledge than other books that often focus on only a handful of .NET technologies. It covers the latest developments, libraries, and technologies that will help keep you up to date. You’ll also leverage .NET MAUI to develop mobile apps for iOS and Android as well as desktop apps for Windows and macOS.
Table of Contents (23 chapters)
22
Index

Versioning OData controllers

It is good practice to plan for future versions of your OData models that might have different schemas and behavior.

To maintain backward compatibility, you can use OData URL prefixes to specify a version number:

  1. In the Northwind.OData.Service project, in Program.cs, in the services configuration section, after adding the two OData models for catalog and orders, add a third OData model that has a version number and uses the same GetEdmModelForCatalog method, as shown highlighted in the following code:
    .AddRouteComponents(routePrefix: "catalog", 
      model: GetEdmModelForCatalog())
    .AddRouteComponents(routePrefix: "ordersystem", 
      model: GetEdmModelForOrderSystem())
    .AddRouteComponents(routePrefix: "catalog/v{version}", 
      model: GetEdmModelForCatalog())
    
  2. In ProductsController.cs, modify the Get methods to add a string parameter named version that defaults to "1", and use it to change...