GraphQL
概述
在微服务开发的过程中,我们经常需要面临各种各样的查询。如果使用类似 Dubbo 接口,或 REST API,可能经常面临着接口改动、升级、新增等等,接着就面临着版本迭代的问题(因此很多开发者在接口版本定下来之后,就算更新了内容,版本号也不再更新了)最后导致维护困难。
因此这里使用了 GraphQL 作为查询语言。GraphQL 是一门动态查询语言,可以根据开发者希望的方式返回相关内容。在数据升级时,也能比较好地保持兼容性。目前有很多互联网大公司都在使用 GraphQL 作为查询入口,也算是比较成熟的技术吧。
接口描述
请求方法及地址
// code 为存储桶(bucket)标识
POST {schema}://{ip}:{port}/provider/api/graphql
请求头
参数名 | 类型 | 可空 | 默认值 | 说明 |
---|---|---|---|---|
X-Forwarded-Tenant | String | 否 | 无 | 租户标识 |
请求参数(application/json)
参数名 | 类型 | 可空 | 默认值 | 说明 |
---|---|---|---|---|
query | String | 否 | 无 | GraphQL 查询语句 |
variables | Object | 是 | 无 | GraphQL 查询参数 |