Flurl是否支持GraphQL请求?

4

是否可以使用 Flurl 向 GraphQL API 发送 POST 请求?

我尝试了以下代码,但只收到了错误信息。

var stringContent = @"query {
                webhooks {
                    data {
                        id
                        name
                        topic
                        source
                        address
                        enabled
                        hashKey
                    }
                }
            }";

HttpContent content = new StringContent(stringContent, Encoding.UTF8, "application/graphql");

try
        {
            var test = await GRAPHQL_API_URL
                .WithOAuthBearerToken(ACCESS_TOKEN)
                .WithHeader("Content-Type", "application/graphql")
                .PostAsync(content).ReceiveJson();
        }
        catch(Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

你遇到了哪些错误? - Joakim Skoog
显然API提供者对API进行了一些更改,但我不知道具体是什么。请求今天已被接受 :) - Christian Olszewski
2个回答

0

API提供者做了些事情,现在请求被接受了。


0

使用我在FlurlGraphQL库中发布的扩展,现在使用Flurl可以更轻松地进行GraphQL查询,这使得原始问题易于实现:

假设GraphQL服务器符合Http请求有效载荷的规范。

var json = await GRAPHQL_API_URL
    .WithOAuthBearerToken(ACCESS_TOKEN)
    .WithGraphQLQuery(@"
        query {
            webhooks {
                data {
                    id
                    name
                    topic
                    source
                    address
                    enabled
                    hashKey
                }
            }
        }
    ")
    .PostGraphQLQueryAsync()
    .ReceiveGraphQLRawJsonResponse();

但您不必检索原始的Json,可以将其反序列化为您的模型,该库大大简化了处理复杂元素(如边缘、节点等)的过程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接