使用Hot Chocolate创建ASP.NET Core GraphQL服务
GraphQL介紹
GraphQL是一個用于API的查詢語言,是一個使用基于類型系統來執行查詢的服務端運行時。GraphQL對你的API中的數據提供了一套易于理解的完整描述,使得客戶端能夠準確地獲得它需要的數據,而且沒有任何冗余。
Hot Chocolate介紹
Hot Chocolate是.NET平臺下的開源GraphQL服務器,符合最新的GraphQL 2021草案規范。
Hot Chocolate消除了構建成熟的GraphQL服務器的復雜性,可以讓我們輕松實現ASP.NET Core GraphQL服務器。
Demo
下面,我們就來演示如何使用Hot Chocolate創建ASP.NET Core GraphQL服務。
1.引用Nuget包
創建ASP.NET Core Web API項目,安裝如下Nuget包:
HotChocolate.AspNetCore2.創建模型
假設,我們要查詢用戶相關數據。
新增User.cs文件,代碼如下:
public?class?User {public?int?Id?{?get;?set;?}public?string?Name?{?get;?set;?}public?int?Age?{?get;?set;?} }3.創建Query類
新增Query.cs文件,這個類將包含我們需要執行的所有查詢,代碼如下:
public?class?Query {public?async?Task<User>?GetUser(int?id){return?new?User?{?Id?=?id,?Name?=?"Name_"+id,?Age?=?new?Random().Next(20,30) };} }這里我用的假數據,你也可以改成使用數據庫。
4.配置GraphQL
我們需要配置應用程序以使用GraphQL。修改Startup.cs中的代碼如下:
public?void?ConfigureServices(IServiceCollection?services) {...services.AddGraphQLServer().AddQueryType<Query>(); }public?void?Configure(IApplicationBuilder?app,?IWebHostEnvironment?env) {...app.UseEndpoints(endpoints?=>{endpoints.MapGraphQL();endpoints.MapControllers();}); }5.運行GraphQL
運行應用程序,訪問https://啟動地址/graphql/,你應該可以打開Hot Chocolate內置的GraphQL IDE(Banana Cake Pop)。
我們可以通過輸入GraphQL查詢語句,并點擊Execute按鈕來獲取我們想要的數據:
結論
使用Hot Chocolate,創建GraphQL服務就是如此簡單容易。
總結
以上是生活随笔為你收集整理的使用Hot Chocolate创建ASP.NET Core GraphQL服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序怎么跑着 就卡死,句柄泄漏,内存泄漏
- 下一篇: asp.net ajax控件工具集 Au