有点天真的问题但是现在我想创建一个更灵活的web api我刚刚阅读了gqphql,接受查询字符串并返回包含结果的字符串是一个很好的做法
任何使用web api和graphql的例子,我知道我可以使用像jws这样的东西来保证查询但是我正在谈论这个想法和最佳实践
答案 0 :(得分:2)
我自己没有尝试过,但从我读过的内容中,很多用户都使用过graphql-dotnet
。它还有一个很好的入门指南。
http://graphql-dotnet.github.io/graphql-dotnet/getting-started
https://github.com/graphql-dotnet/graphql-dotnet
它基于Facebooks graphql
https://github.com/facebook/graphql
要了解有关graphql及其内容的更多信息:
答案 1 :(得分:2)
我是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
希望有帮助。
答案 2 :(得分:0)
我可以像Ogglas之前所说的那样突出显示https://github.com/graphql-dotnet/graphql-dotnet。 顺便说一句,许多贡献者正在努力开发lib,而我本人在最近发布的实际项目中亲自使用了它。性能或记忆库没有问题,因此,绝对值得推荐。
此外,刚刚完成的基于GraphQL.Net库的组件。它允许配置GraphQL模式,而无需开发代码(您可以在json文件中定义它),也可以从包装盒中非常简单快速地进行数据库适配器(可以连接到任何流行的数据库,例如-MSSQL,MySQL,PostgreSQL甚至是ElasticSearch)。
答案 3 :(得分:0)
我希望这会有所帮助: 看一下我使用graphql-dotnet Nuget包的.Net Core 2.1 GraphQL Web API的小样本。 那只是一个小例子,但它使用EF Core和一个节点Parent-Child关系来完成查询和变异。
看一下: SampleGraphQLWebApi
谢谢
答案 4 :(得分:-1)
我认为最好的解决方案是热巧克力, 要创建功能样本,请使用以下命令:
使用此地址:http://127.0.0.1:5000/playground
尝试如下查询以开始使用
: {
human(id:1000) {
name,
appearsIn,
friends {
name,
appearsIn
}
}
}