在我的ASP.NETCore6API中,我们使用Dapper使用查询(SQL)进行查询,输入模型,并在某个端点或某些服务中使用结果返回,例如,生成PDF报表并在端点上的文件中返回的服务
在检索生成PDF所需数据的查询中,如何使用安装在应用程序(HotChocolate)中的GraphQL来实现?
简而言之,如何从应用程序到应用程序本身使用GraphQL?
发布于 2022-09-25 12:18:14
问题“简而言之,如何从应用程序到应用程序本身使用GraphQL?”可以用两种方式来理解。
1)如何执行查询文档。(弦乐)手工业?
如果您想直接执行查询,可以使用IRequestExecutor。如果您查看HttpGetMiddleware,您可以看到查询就是这样执行的。要获得IRequestExecutor,请从DI中获取IRequestExecutorResolver。
// From DI
IRequestExecutorResolver resolver = ...;
// See next snippet
IQueryRequest request = ...;
IRequestExecutor executor = await resolver.GetRequestExecutorAsync();
IExecutionResult result = await executor.ExecuteAsync(request);类型IQueryRequest表示一个GraphQL请求。可以使用IQueryRequestBuilder创建In。如果您的解析器用户“特殊”依赖项,则必须显式指定它们,以创建请求。要检查什么是“特殊”依赖,请检查DefaultHttpRequestInterceptor。如果您要在自己的拦截器中添加额外的“特殊”依赖项,情况也是如此。
IQueryRequest request = new QueryRequestBuilder().SetQuery("query text as string").SetVariableValues(/* if your query needs varaibles */).Create();2)如何使用GraphQL客户端进行.NET?
StrawberryShake是由ChilliCream制作的.NET GraphQL客户端。这将为查询生成.NET类型,并通过网络调用查询。当然,您可以像任何其他公共客户机一样从它的端点上的GraphQL服务器进行查询,即使您是从相同的进程中进行的。我将不详细说明这一点,因为我所提供的链接显示了基本示例(而直接使用IRequestExecutor在docs中没有描述)。
https://stackoverflow.com/questions/73652499
复制相似问题