c# - 将 web api 与 graphql 结合使用的最佳实践

标签 c# asp.net-web-api graphql

一个有点幼稚的问题,但现在我想创建一个更灵活的 web api 我刚刚阅读了有关 gqphql 的内容,接受查询字符串并返回包含结果的字符串是一个好习惯吗

任何使用 web api 和 graphql 的示例,我知道我可以使用 jws 之类的东西来保护查询,但我正在谈论这个想法和最佳实践

最佳答案

我是 Hot Chocolate 的贡献者。

为了让 GraphQL 与 Web API 并行运行,只需将以下包添加到您的项目中:

HotChocolate.AspNetCore

然后在启动的ConfigureService 方法中添加以下内容:

public void ConfigureServices(IServiceCollection services)
{
    services.AddGraphQL(Schema.Create(c =>
    {
        c.RegisterQueryType<Query>();
    }));
}

在配置部分只需添加UseGraphQL

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseGraphQL();
}

GraphQL 只是另一个与您的 web api 中间件并排的中间件。

如果您使用的是 .Net Framework 而不是 .Net Core,那么您必须使用

HotChocolate.AspNetClassic

我们这里有 .Net Core 和 .Net Framework 的 StarWars 示例: https://github.com/ChilliCream/hotchocolate/tree/master/examples

您可以在此处找到文档: https://hotchocolate.io

希望对您有所帮助。

关于c# - 将 web api 与 graphql 结合使用的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41661086/

相关文章:

json - 将 Json 对象参数发送到 .net Core 中的 Web Api Controller

asp.net-web-api - ASP.NET Web API 帮助页面为 F# 记录类型生成不完整的文档

reactjs - 如何访问 Gatsby 模板组件中的上下文变量?

c# - 使用 ASP.NET Web API 自定义路由

C# - 获取 A 类中使用的所有类型

c# - MVC中的属性和过滤器有什么区别

mongodb - NestJS、MongoDB、Mongoose、GraphQL - 重复我自己描述用户或任何模型

c# - 对象分配

c# - Visual Studio 和加载项卸载

javascript - Apollo 订阅 PubSub 未触发监听器