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

Understanding GraphQL

In Chapter 8, Building and Securing Web Services Using Minimal APIs, you learned how to define a Web API service by mapping request path endpoints to lambda expressions or methods that return the response. Any parameters and the format of responses are under the control of the service. A client cannot ask for what they exactly need or use more efficient data formats.

If you completed the online-only section, Exposing Data via the Web Using OData, then you know that OData has a built-in query language for the client to control what data they want to be returned. However, OData has a rather old-fashioned approach and is tied to the HTTP standard, for example, using query strings in an HTTP request.

If you would prefer to use a more modern and flexible technology to combine and expose your data as a service, then a good alternative is GraphQL.

Like OData, GraphQL is a standard for describing your data and then querying it that gives the client control...