我对苦艾酒的这种行为感到困惑。
对于顶级字段,例如
field :projects, list_of(:project) do
arg :user_id, :string
resolve(&ProjectResolver.list_projects/2)
end
如果ProjectResolver.list_projects/2
返回{:ok, []}
,则 JSON 结果将正确为
{
"data": {
"projects": []
}
}
但是,对于一个子字段,tags
例如
object :task do
field :id, :string
# ... Other fields
field :tags, list_of(:tag) do
resolve(&TaskResolver.list_tags/3)
end
# ... Other subfields
end
如果TaskResolver.list_tags/3
返回{:ok, []}
,我得到
{
"data": {
"task": {
"id": "ba156cde-8c5f-4806-b161-62071b0098b3",
"tags": [
null
]
}
}
}
代替
{
"data": {
"task": {
"id": "ba156cde-8c5f-4806-b161-62071b0098b3",
"tags": []
}
}
}
我认为这应该是合理的回应。
现在,包含一个项目null
(如果返回的数据首先是一个空数组,那将是理想的,我不明白为什么不是。