你好,朋友们,我想在oauth_token客户端的请求体中传递GraphQL和client_id。所以我如何传递它们,因为GraphQLRequest只有三个字段(即查询、变量和OperationName)。请建议一下。
using GraphQL.Client;
var heroRequest = new GraphQLRequest{ Query = Query };
var graphQLClient = new GraphQLClient("URL");
var graphQLResponse = await graphQLClient.PostAsync(heroRequest);发布于 2018-10-15 08:13:12
可以使用来自DefaultRequestHeaders的GraphQLClient.将授权(或任何其他参数)添加到标头中
var graphClient = new GraphQLClient("https://api.github.com/graphql");
graphClient.DefaultRequestHeaders.Add("Authorization", $"bearer {ApiKey}");
var request = new GraphQLRequest
{
Query = @"query { viewer { login } }"
};
var test = await graphClient.PostAsync(request);在这里,您可以从HttpClient:Setting Authorization Header of HttpClient找到更多关于该HttpClient:Setting Authorization Header of HttpClient的详细信息。
此外,在git上创建了一个相关的问题。
发布于 2021-08-11 12:51:41
使用GraphQLHttpClient而不是GraphQLClient
示例:
public class DemoController : Controller
{
private readonly GraphQLHttpClient _client;
public DemoController(GraphQLHttpClient client)
{
_client = client;
}
public async Task<ActionResult> YourMethod()
{
_client.HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("JWT", yourToken);
var query = new GraphQLRequest
{
Query = "query{......}"
}
...
}
}当然,您必须在注册您的GraphQLHttpClient在Startup。
示例:
services.AddScoped(s => new GraphQLHttpClient(Configuration["YourGraphQLUri", new NewtonsoftJsonSerializer()));发布于 2022-10-17 05:13:20
var graphQLClient = new GraphQLHttpClient("localhost/graphql", new NewtonsoftJsonSerializer());
graphQLClient.HttpClient.DefaultRequestHeaders.Add("Authorization", "Bearer ????");https://stackoverflow.com/questions/51100305
复制相似问题