服务端提供给前端的自助查询框架

父文章 人人都是前端专家

方案1: graphql 把所有能力都暴露出来.

方案2: 还有一种是, 通过后台配置sql ,对应一个 serviceName+version. 把serviceName+version暴露给上游,实现数据定制化. 函数式编程的思想. 这样就不用总是重启服务器. 只要对发布加上一些单测流程即可.

GraphQL升级版,支持rpc接口获取数据 . graphql DDos防御

解决问题:

    前端想取哪些字段就取哪些字段.

解决方案

    接口都是声明式编程. 

核心知识

   1. 元数据 (哪些字段属于哪个handler, 每个handler之间的数据是1对多 还是 多对多)
   2. 查询的字段是属于哪几个handler.(通过元数据反向分析出来. 没有同字段就不需要调用时声明, 前期框架可以没有这个能力)
  3. 查询字段筛选度有多少. 先查哪个字段? limit ,orderBy 多表怎么支持? (这些都可以通过接口本身携带的元信息固化,这几个接口就不是不支持orderBy, 这些接口只支持单表的orderBy, 不然就要使用内存 stream来实现)

附录:

  在服务端API开发中,很多时候定义一个接口返回的数据相对固定的,如果想要获取更多的信息,或者仅需要某个接口的某个信息的时候,基于restful API的接口就显得不那么灵活了,对于这些需求,服务端要么再定义一个新的接口,返回合适的数据,要么客户端就得通过一个庞大的接口来获取一小部分信息,GraphQL的出现就是为了解决这些问题的

作者:一字马胡
链接:https://www.jianshu.com/p/203dd28eac4f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值