知海

C# / .NET:graphql-net-client(GraphQL 客户端示例)

graphql-github-io-zh-Hans生态项目与库

C# / .NET:graphql-net-client(GraphQL 客户端示例)

项目简介

graphql-net-client 是一个面向 .NET 平台的 GraphQL 客户端基础示例项目。该项目旨在演示如何在 .NET 环境中通过 HTTP 向 GraphQL 服务器发送查询请求并处理响应,适合作为学习 GraphQL 客户端实现原理的入门参考。

功能特性

  • 提供 .NET 环境下 GraphQL 客户端的最简实现示例
  • 演示 POST 请求发送 GraphQL 查询语句的基本方式
  • 展示如何处理 GraphQL 服务端返回的 JSON 响应

快速开始

环境要求

  • .NET 开发环境(.NET Core / .NET 5+)

使用步骤

  1. 克隆项目

    bash 复制代码
    git clone https://github.com/bkniffler/graphql-net-client.git
  2. 打开解决方案

    使用 Visual Studio 或 Rider 打开 .sln 解决方案文件。

  3. 运行示例

    直接运行项目,即可看到客户端发送 GraphQL 请求并输出响应结果的演示过程。

核心代码示例

以下为该示例客户端的核心请求逻辑示意:

csharp 复制代码
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

public class GraphQLClient
{
    private readonly HttpClient _httpClient;

    public GraphQLClient(string endpoint)
    {
        _httpClient = new HttpClient
        {
            BaseAddress = new Uri(endpoint)
        };
    }

    public async Task<string> SendQueryAsync(string query)
    {
        var requestBody = new StringContent(
            $"{{\"query\": \"{query}\"}}",
            Encoding.UTF8,
            "application/json"
        );

        var response = await _httpClient.PostAsync("graphql", requestBody);
        response.EnsureSuccessStatusCode();

        return await response.Content.ReadAsStringAsync();
    }
}

项目地址

总结

该项目作为一个教学性质的示例,代码简洁明了,适合希望了解 .NET 下 GraphQL 客户端工作原理的开发者阅读和扩展。对于生产环境,推荐使用 GraphQL .NET 官方客户端或成熟的第三方库(如 GraphQL.Client)。

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。