无法使用cURL执行GraphQL变异

无法使用cURL执行GraphQL变异,graphql,graphql-java,Graphql,Graphql Java,我已经在微文件容器(WildFly)中部署了一个变种,并且能够在GraphQL UI中执行它: mutation Add { createOrder(order: { id: 1, type: "car" model: "Ferrari" price: 500 } ) { type model price } } 但是,当我尝试使用cURL执行相同的突变时:

我已经在微文件容器(WildFly)中部署了一个变种,并且能够在GraphQL UI中执行它:

mutation Add {
  createOrder(order: {
      id: 1,
      type: "car"
      model: "Ferrari"
      price: 500
    }
  )
  {
    type
    model
    price
  }
}
但是,当我尝试使用cURL执行相同的突变时:

curl \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{ "query": "mutation Add {
  createOrder(order: {
      id: 1,
      type: \"car\"
      model: \"Ferrari\"
      price: 500
    }
  )
  {
    type
    model
    price
  }
}
" }' http://localhost:8080/demo/graphql
但是,它在以下方面失败:

javax.json.stream.JsonParsingException: Unexpected char 10 at (line no=1, column no=27, offset=26)
我还没有发现很多使用cURL这样的命令行工具运行变种的例子,也不知道错误在哪里。有什么帮助吗?
感谢您通过curl发送json数据,json规范不允许换行。它们需要替换为“\n”字符

curl \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{ "query": "mutation Add { createOrder(order: {id: 1, type: \"car\", model: \"Ferrari\", price: 500}){type\n model\n price\n}}" }' http://localhost:8080/demo/graphql

关于其他建议,请参见此问题:

这里我有一个使用curl、换行引号转义和缩进的工作变体。它看起来确实不太好看,但比oneliner更易于维护:

我已经重新格式化了curl调用,现在应该可以工作了。请注意,输入和输出参数为您的变体精确缩进。您只需担心在每行末尾添加反斜杠,并转义“query”字符串中的反斜杠和引号

哦,别忘了在每个输入参数后加逗号。我想你最初的要求中没有这些

curl \
  -X POST \
  -H "Content-Type: application/json" \
  --data \
"{ \
    \"query\": \"mutation Add { \
        createOrder(order: { \
            id: 1, \
            type: \\\"car\\\", \
            model: \\\"Ferrari\\\", \
            price: 500 \
        }){ \
            type \
            model \
            price \
        } \
    } \
} \
" http://localhost:8080/demo/graphql

它能像吃你的反睫毛一样简单吗?尝试记录到达服务器的确切负载。