Book Image

Apps and Services with .NET 8 - Second Edition

By : Mark J. Price
5 (7)
Book Image

Apps and Services with .NET 8 - Second Edition

5 (7)
By: Mark J. Price

Overview of this book

Elevate your practical C# and .NET skills to the next level with this new edition of Apps and Services with .NET 8. With chapters that put a variety of technologies into practice, including Web API, gRPC, GraphQL, and SignalR, this book will give you a broader scope of knowledge than other books that often focus on only a handful of .NET technologies. You’ll dive into the new unified model for Blazor Full Stack and leverage .NET MAUI to develop mobile and desktop apps. This new edition introduces the latest enhancements, including the seamless implementation of web services with ADO.NET SqlClient's native Ahead-of-Time (AOT) support. Popular library coverage now includes Humanizer and Noda Time. There’s also a brand-new chapter that delves into service architecture, caching, queuing, and robust background services. By the end of this book, you’ll have a wide range of best practices and deep insights under your belt to help you build rich apps and efficient services.
Table of Contents (19 chapters)
18
Index

Implementing GraphQL mutations

Most services need to modify data as well as query it. GraphQL calls these mutations. A mutation has three related components:

  • The mutation itself, which defines the change that will be made to the graph. It should be named using a verb, a noun, and use camel casing, for example, addProduct.
  • The input is the input for a mutation, and it should have the same name as the mutation with a suffix of Input, for example, AddProductInput. Although there is only one input, it is an object graph, so it can be as complex as you need.
  • The payload is the returned document for a mutation, and it should have the same name as the mutation with a suffix of Payload, for example, AddProductPayload. Although there is only one payload, it is an object graph, so it can be as complex as you need.

Adding mutations to the GraphQL service

Let’s define mutations for adding, and later, we will define some to update and delete products...