这是一个有点天真的问题,但现在我想创建一个Web API以更加灵活。我刚刚了解到gqphql,接受查询字符串并返回包含结果的字符串是一种好的做法吗?
有没有使用Web API和GraphQL的示例?我知道可以使用类似JWS的东西保护查询,但我说的是最佳实践和想法。
这是一个有点天真的问题,但现在我想创建一个Web API以更加灵活。我刚刚了解到gqphql,接受查询字符串并返回包含结果的字符串是一种好的做法吗?
有没有使用Web API和GraphQL的示例?我知道可以使用类似JWS的东西保护查询,但我说的是最佳实践和想法。
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
{
human(id:1000) {
name,
appearsIn,
friends {
name,
appearsIn
}
}
}
我自己没有尝试过,但从我读到的内容来看,很多用户都使用了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及其是什么的信息:
正如Ogglas之前所说,我可以将https://github.com/graphql-dotnet/graphql-dotnet作为重点突出。此外,很多贡献者正在努力开发该库,我个人在最近发布的实际项目中使用过它。性能或内存泄漏都没有问题,因此绝对推荐。
此外,刚刚完成了基于GraphQL.Net库的组件。它允许配置GraphQL模式而无需在代码中进行开发(您可以在json文件中定义),并且具有非常简单和快速的db适配器(可以连接到任何流行的数据库,例如MSSQL,MySQL,PostgreSQL甚至ElasticSearch)。