使用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.AspNetCore

2.创建模型

假设,我们要查询用户相关数据。

新增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按钮来获取我们想要的数据:

70611346026ceb3baa15c7e31bf5d633.png

结论

使用Hot Chocolate,创建GraphQL服务就是如此简单容易。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值