我将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对象感兴趣,但是能够将请求中的特定信息传递到解析函数中就足够了。
发布于 2020-03-06 08:57:05
您可以注入IHttpContextAccessor或将信息存储在userContext属性中。
如果您设置了UserContext的ExceptionOptions,您可以在字段解析函数的上下文中访问它。
https://stackoverflow.com/questions/60530587
复制相似问题