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

Enabling entity inserts, updates, and deletes

Although the most common use for OData is to provide a Web API that supports custom queries, you might also want to support CRUD operations like inserts. Let’s see how to do that:

  1. In ProductsController.cs, add an action method to respond to POST requests, as shown in the following code:
    public IActionResult Post([FromBody] Product product)
    {
      db.Products.Add(product);
      db.SaveChanges();
      return Created(product);
    }
    
  2. Set a breakpoint on the open brace of the method.
  3. Start the OData web service with debugging.
  4. In Visual Studio Code, in the RestClientTests folder, create a new file named odata-catalog-insert-product.http, as shown in the following HTTP request:
    POST https://localhost:5101/catalog/products
    Content-Type: application/json
    Content-Length: 234
    {
      "ProductName": "Impossible Burger",
      "SupplierId": 7,
      "CategoryId": 6,
      &quot...