Graphql学习(五)-Http请求规范

GraphQL HTTP 服务器一般都可以处理 HTTP 的 POST 方法,有的还可以处理 GET 方法。

  1. GET 请求

用 GET 请求查询 GraphQL 服务器时,应当将查询的文档,变量和操作名称作为 GET 参数传给服务器。
完整的参数格式:?query=查询文档&variables=变量&operationName=操作名称。

query:查询文档,必填。
variables:变量,选填。
operationName:操作名称,选填,查询文档有多个操作时必填。
// 请求

1
2
3
4
  viewer {
    name
  }
}

 

对应的通过 HTTP GET 发送的示例:
http://api.com/graphql?query={viewer{name}}

  1. POST 请求

标准的 GraphQL POST 请求应当在 HTTP header 中声明 Content-Type: application/json,并且使用 JSON 格式的内容。
POST 报文体中的 JSON 数据中的三个字段跟 GET 请求类似:

query:查询文档,必填。
variables:变量,选填。
operationName:操作名称,选填,查询文档有多个操作时必填。

1
2
3
4
5
{
  "query": "{viewer{name}}",
  "operationName": "",
  "variables": { "name": "value", ... }
}

 

  1. 响应

无论用 GET 还是 POST 方法查询,HttpStatus均为200,响应一般都会以 JSON 格式在 POST 的报文体返回。响应的规范参考这里,正常响应的数据放在 data 属性中,异常时记录在 errors 属性中:

1
2
3
4
{
  "data": { ... },
  "errors": [ ... ]
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值