- GraphQL实战:写给全栈工程师们
- 王北南
- 275字
- 2025-03-01 05:50:31
1.6.5 GraphQL使用单一的Endpoint
从前面的例子中可以看出,GraphQL是在查询中定义要什么数据的,而不像REST那样需要使用不同的Endpoint来调取不同的数据。可以说,GraphQL是通过把各种查询拼装到一起,发送到一个且是唯一的一个Endpoint把所有资源都呈现在使用者面前。这样做有两个好处:
(1)服务器端和客户端都不必再维护URL和资源互相映射的Routing表。
(2)可以只使用一种Http方式,比如说POST方式就能够完成所有查询任务。
当然使用单一Endpoint也不是尽善尽美。比如,单一Endpoint可能会增加开发者纵向扩展的难度,所以开发者在设计和实现GraphQL后端服务的时候,要更注意可扩展性的问题。类似地,也要避免GraphQL的单一Endpoint的单点故障问题,来确保系统的可用性。