|
您可以发出一个请求,在一个请求中带回大量不同类型的数据。是对的吗?
前夕:是的,完全正确。因此,您可以发送服务器允许的尽可能多的字段的查询,并带回各种嵌套数据。但这确实是如何工作的,我们在字段上连接不同的类型。所以我想我们会回收我的用户和产品想法,但用户可能有一个返回产品列表的产品字段。所有这些也与其他类型相关。因此,只要我们希望查询嵌套得有多深,我们就可以做到。
德鲁:那么,这是否意味着要检索 Web 应用程序中可能发生各种情况 牙买加手机号码列表 的典型视图的数据,您只需向后端发出一个请求,然后一次性获取所有数据,而无需进行不同的查询不同的端点,因为这只是一件事?
前夕:是的。这正是整个目标,只是一个查询,定义您想要的每个字段,然后在一个响应中返回它。
德鲁:查询是基于 JSON 的,对吗?
前夕:查询本身是一个文本字符串,但它通常返回 JSON 数据。因此,如果我有这些字段,那么我的 JSON 响应就会完全匹配,因此发送该查询时您得到的内容非常清楚,因为数据响应看起来完全相同。
德鲁许多查询似乎都是针对裸露的对象,例如客户或产品。有没有办法指定更复杂的查询,其中业务逻辑在后端控制?假设我想获取某个用户的团队列表,但仅限于该用户是团队管理员且团队计划尚未过期的情况,以及我们在日常 Web 应用程序开发中面临的所有这些实际限制。这可以通过 GraphQL 实现吗?
前夕:绝对地。这就是 GraphQL 真正令人兴奋、强大的地方,您可以将大量逻辑移至服务器。如果您有一个复杂的查询,您想要获得一些真正特定类型的用户,您需要在架构中做的就是说“获取复杂的用户”,然后在服务器上,会有一个函数,其中您可以用任何您想要的语言编写所有逻辑。JavaScript 是最流行的 GraphQL 实现语言,但您根本不必使用它。因此,Python、Go、C++,无论您想使用什么,都可以用它们构建 GraphQL 服务器。但是,是的,您可以根据需要定义复杂的查询。
|
|