使用Hot Chocolate创建ASP.NET Core GraphQL服务
GraphQL介紹
GraphQL是一個(gè)用于API的查詢語(yǔ)言,是一個(gè)使用基于類型系統(tǒng)來(lái)執(zhí)行查詢的服務(wù)端運(yùn)行時(shí)。GraphQL對(duì)你的API中的數(shù)據(jù)提供了一套易于理解的完整描述,使得客戶端能夠準(zhǔn)確地獲得它需要的數(shù)據(jù),而且沒(méi)有任何冗余。
Hot Chocolate介紹
Hot Chocolate是.NET平臺(tái)下的開(kāi)源GraphQL服務(wù)器,符合最新的GraphQL 2021草案規(guī)范。
Hot Chocolate消除了構(gòu)建成熟的GraphQL服務(wù)器的復(fù)雜性,可以讓我們輕松實(shí)現(xiàn)ASP.NET Core GraphQL服務(wù)器。
Demo
下面,我們就來(lái)演示如何使用Hot Chocolate創(chuàng)建ASP.NET Core GraphQL服務(wù)。
1.引用Nuget包
創(chuàng)建ASP.NET Core Web API項(xiàng)目,安裝如下Nuget包:
HotChocolate.AspNetCore2.創(chuàng)建模型
假設(shè),我們要查詢用戶相關(guān)數(shù)據(jù)。
新增User.cs文件,代碼如下:
public?class?User {public?int?Id?{?get;?set;?}public?string?Name?{?get;?set;?}public?int?Age?{?get;?set;?} }3.創(chuàng)建Query類
新增Query.cs文件,這個(gè)類將包含我們需要執(zhí)行的所有查詢,代碼如下:
public?class?Query {public?async?Task<User>?GetUser(int?id){return?new?User?{?Id?=?id,?Name?=?"Name_"+id,?Age?=?new?Random().Next(20,30) };} }這里我用的假數(shù)據(jù),你也可以改成使用數(shù)據(jù)庫(kù)。
4.配置GraphQL
我們需要配置應(yīng)用程序以使用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.運(yùn)行GraphQL
運(yùn)行應(yīng)用程序,訪問(wèn)https://啟動(dòng)地址/graphql/,你應(yīng)該可以打開(kāi)Hot Chocolate內(nèi)置的GraphQL IDE(Banana Cake Pop)。
我們可以通過(guò)輸入GraphQL查詢語(yǔ)句,并點(diǎn)擊Execute按鈕來(lái)獲取我們想要的數(shù)據(jù):
結(jié)論
使用Hot Chocolate,創(chuàng)建GraphQL服務(wù)就是如此簡(jiǎn)單容易。
總結(jié)
以上是生活随笔為你收集整理的使用Hot Chocolate创建ASP.NET Core GraphQL服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 程序怎么跑着 就卡死,句柄泄漏,内存泄漏
- 下一篇: System.Text.Json 中的