我目前设置了一个简单的查询(ArticleQuery
),其中包括两个字段。第一个字段带有一个ID并返回适当的数据-该字段按我期望的方式工作。第二个字段(名为articles
)应该返回表中的所有对象,但是当使用GraphiQL
接口发出以下查询时,我将返回一个空字符串。
查询:
query GetArticleData(){
articles {
id
description
}
}
ArticleQuery
的外观如下:
public class ArticleQuery : ObjectGraphType
{
public ArticleQuery(IArticleService articleService)
{
Field<ArticleType>(
name: "article",
arguments: new QueryArguments(new QueryArgument<IntGraphType> { Name = "id" }),
resolve: context =>
{
var id = context.GetArgument<int>("id");
return articleService.Get(id);
}
);
Field<ListGraphType<ArticleType>>(
name: "articles",
resolve: context =>
{
return articleService.GetAll();
}
);
}
}
请注意,永远不会命中articleService.GetAll()
方法内设置的断点。
最后是ArticleType
类:
public class ArticleType : ObjectGraphType<ArticleViewModel>
{
public ArticleType()
{
Field(x => x.Id).Description("Id of an article.");
Field(x => x.Description).Description("Description of an article.");
}
}
为什么我的查询返回一个空字符串而不是我的文章列表,我该如何解决?
答案 0 :(得分:0)
经过更多测试之后,看来我的查询格式不正确。应该是:
query GetArticleData{
articles {
id
description
}
}
代替:
query GetArticleData(){
articles {
id
description
}
}
仅在指定查询变量时才需要括号,否则将其排除。