GraphQL入门之分析RESTful存在的问题

分析RESTful存在的问题

RESTful是我们已经很熟悉的用于api通信的规范,如这样:

GET http://127.0.0.1/user/1 #查询
POST http://127.0.0.1/user #新增
PUT http://127.0.0.1/user #更新
DELETE http://127.0.0.1/user #删除

在查询的时候,往往是这样:

#请求
GET http://127.0.0.1/user/1001
#响应:
{
	id : 1001,
	name : "张三",
	age : 20,
	address : "北京市",
	……
}

这样似乎是没有问题的,如果,对于这次请求,我只需要id和name属性,其他的属性我都不需要,如果我依然拿到的是全部的属性,这是不是一种资源浪费?

还有这样的一种场景,就是一次请求不能满足需求,需要有多次请求才能完成,像这样:

#查询用户信息
GET http://127.0.0.1/user/1001
#响应:
{
	id : 1001,
	name : "张三",
	age : 20,
	address : "北京市",
	……
}
#查询用户的身份证信息
GET http://127.0.0.1/card/8888
#响应:
{
	id : 8888,
	name : "张三",
	cardNumber : "999999999999999",
	address : "北京市",
	……
}

查询用户以及他的身份证信息,需要进行2次查询才能够完成,这样对于前端等接口的使用方是很不友好的,试想一下,如果查询信息有10个,是不是要发起10次请求才能完成?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值