苦艾酒-响应格式%{data:%{id:1,名称:“ Bob”}} vs%{data:%{createUser:%{id:1,name:“ Bob”}}}

时间:2019-12-16 14:46:15

标签: graphql elixir phoenix absinthe

格式化响应的正确方法是什么,我将如何处理?

在网上看到的示例中,响应数据永远不会嵌套在带有突变名称的键中

这是请求

mutation CreateUser($input: CreateUserInput!) {
  createUser(input: $input) {
    id
    name
  }
}

其中哪些是GraphQL的正确响应格式?

这就是我现在的样子。

${"data" => %{
  "createUser" => %{
    "id" => 1,
    "name" => "Bob",
  }
}}

这是我在网上的一些示例中看到的(我认为它看起来更干净)

${"data" => %{
  "id" => 1,
  "name" => "Bob",
}}

其中哪些是比较惯用的GraphQL?如果是第二个,是否有办法让苦艾酒以这种方式格式化响应?

1 个答案:

答案 0 :(得分:0)

第一种是正确的方法。我在规范中没有发现明确指出2不好的地方,但他们给出的每个示例都是第一种格式。

如果我不得不这样推测,是因为您可以查询多个字段,那么在这种情况下(不总是可能)合并响应是很丑陋的。

他们的确会说,但是,您可以为该字段加上别名: https://graphql.github.io/graphql-spec/July2015/#sec-Field-Alias