首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Graphql热巧克力中的多查询类型

Graphql热巧克力中的多查询类型
EN

Stack Overflow用户
提问于 2022-08-23 03:40:56
回答 1查看 664关注 0票数 2

我用的是热巧克力图形。我有一个场景,其中有两个单独的查询类型类。

  1. PostQuery ->包含与post相关的PostQuery ->包含与用户相关的查询

我的文件夹结构

这就是我如何配置它

代码语言:javascript
复制
 .AddAuthorization()
    //for inmemory subscription
    .AddInMemorySubscriptions()
    .AddQueryType<PostQuery>()
    .AddQueryType<UserQuery>()
    .AddMutationType<Mutation>()
    .AddSubscriptionType<Subscription>()
    .AddGlobalObjectIdentification()
    // Registers the filter convention of MongoDB
    .AddMongoDbFiltering()
    // Registers the sorting convention of MongoDB
    .AddMongoDbSorting()
    // Registers the projection convention of MongoDB
    .AddMongoDbProjections()
    // Registers the paging providers of MongoDB
    .AddMongoDbPagingProviders();

但是,我得到了以下错误

代码语言:javascript
复制
System.ArgumentException: The root type `Query` has already been registered

不管怎么说,它是否可以被配置,或者我必须把所有的东西放在一个类中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-23 09:47:57

您需要注册querytype "Query“,并添加解析器来处理"Query”类型的多个模式。

代码语言:javascript
复制
builder.Services
.AddQueryType(q => q.Name("Query"))
.AddType<PostQuery>()
.AddType<UserQuery>()

在查询类中:

代码语言:javascript
复制
[ExtendObjectType("Query")]
public class PostQuery 
{
    public List<Post> GetAllPosts()
    {
        return List<Post>{...};
    }
}

[ExtendObjectType("Query")]
public class UserQuery
{
    public List<User> GetAllUsers()
    {
        return List<User>{...};
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73452881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档