《Designing Web APIs》第二章讲到请求-响应API的几种方式。
-
REST: 常用在类似于CRUD操作的API上。
优点:标准的方法名称,参数格式和状态码。
缺点:网络负载大,常常需要多次HTTP请求。 -
RPC:常用在暴露一些动作的API上。
优点:易理解,网络负载小,性能好。
缺点:难以发现,有限的标准,容易导致功能暴露。 -
GraphQL:常用在需要灵活查询的API上。
优点:避免多次HTTP请求,支持多版本(支持新增或删除字段),网络负载小,强类型语法检查避免出错,可发现。
缺点:需要解析额外的查询,后台性能调优困难,太复杂。
原书截图: