1.5.1 数据定制的问题

应用数据现在越来越丰富,已经不是十几年前REST刚诞生时可以相比的了。在当前移动互联网应用的场景下,一个资源所对应的数据非常丰富,拥有非常复杂的结构,而一次请求可能只要其中一小部分数据。比如,请求一个用户的数据“/user/1”,只要用户的名字和头像,而并不需要该用户的住址、电话和成百上千个好友。传统的RESTful API不是不能实现数据定制,其实可以加个Mask参数,例如/user/1?friends=false就可以告知服务器端此次请求不需要好友数据。但这种方式增大了前后端的代码复杂度,增加了开发的强度,而且也不够灵活,难道要给每个字段都加一个Mask?如果每个字段都加一个Mask,那后端要根据各种可能的Mask组合来生成查询也是非常麻烦的,这种代码即使写出来也会非常难以维护。