将Web API与graphql结合使用的最佳实践

AMH*_*AMH 6 c# asp.net-web-api graphql

有点天真的问题,但现在我想创建一个更灵活的Web api,我刚刚阅读了有关gqphql的信息,这是一种好的做法,接受查询字符串并返回包含结果的字符串

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

Mic*_*aib 5

我是热巧克力的贡献者。

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

HotChocolate.AspNetCore

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

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

在配置部分只需添加 UseGraphQL

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

    app.UseGraphQL();
}
Run Code Online (Sandbox Code Playgroud)

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

希望有帮助。


Ogg*_*las 1

我自己没有尝试过,但从我读到的内容来看,很多用户都使用过graphql-dotnet。它还有一个很好的入门指南。

http://graphql-dotnet.github.io/graphql-dotnet/getting-started

https://github.com/graphql-dotnet/graphql-dotnet

它基于 Facebook 的 graphql

https://github.com/facebook/graphql

要了解有关 graphql 及其含义的更多信息:

http://graphql.org/learn/