使用 GraphQL.net 时如何从 ObjectGraphType 中的字段访问 Request 对象?
How can I access the Request object from a Field within an ObjectGraphType when using GraphQL.net?
我正在使用 GraphQL.net 和 C#。我在 ObjectGraphType 中有一个看起来像这样的字段;
Field<FooGraphType>(
"baz",
resolve: context =>
{
//I want to inspect the Request object here
});
我拥有的唯一端点如下所示;
[HttpPost]
public async Task<IActionResult> Post([FromBody] GraphQLQuery query)
{
// I can access the Request object here
if (query == null) { throw new ArgumentNullException(nameof(query)); }
var inputs = query.Variables.ToInputs();
var executionOptions = new ExecutionOptions
{
Schema = _schema,
Query = query.Query,
Inputs = inputs
};
var result = await _documentExecuter.ExecuteAsync(executionOptions).ConfigureAwait(false);
if (result.Errors?.Count > 0)
{
return BadRequest(result);
}
return Ok(result);
}
如何让我的 ObjectGraphType 字段的解析函数获得对在控制器操作中找到的 HttpRequest 对象的访问权限?尽管我对获取整个 HttpRequest 对象很感兴趣,但能够将特定信息从 Request 传递到 resolve 函数就足够了。
您可以注入 IHttpContextAccessor 或在 userContext 中存储信息 属性。
如果您设置了 ExceptionOptions 的 UserContext,您可以在字段解析函数的上下文中访问它。
我正在使用 GraphQL.net 和 C#。我在 ObjectGraphType 中有一个看起来像这样的字段;
Field<FooGraphType>(
"baz",
resolve: context =>
{
//I want to inspect the Request object here
});
我拥有的唯一端点如下所示;
[HttpPost]
public async Task<IActionResult> Post([FromBody] GraphQLQuery query)
{
// I can access the Request object here
if (query == null) { throw new ArgumentNullException(nameof(query)); }
var inputs = query.Variables.ToInputs();
var executionOptions = new ExecutionOptions
{
Schema = _schema,
Query = query.Query,
Inputs = inputs
};
var result = await _documentExecuter.ExecuteAsync(executionOptions).ConfigureAwait(false);
if (result.Errors?.Count > 0)
{
return BadRequest(result);
}
return Ok(result);
}
如何让我的 ObjectGraphType 字段的解析函数获得对在控制器操作中找到的 HttpRequest 对象的访问权限?尽管我对获取整个 HttpRequest 对象很感兴趣,但能够将特定信息从 Request 传递到 resolve 函数就足够了。
您可以注入 IHttpContextAccessor 或在 userContext 中存储信息 属性。
如果您设置了 ExceptionOptions 的 UserContext,您可以在字段解析函数的上下文中访问它。