|
Koło nr 65 Zabrzańskie forum wędkarskie
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
rmruhul narybek
Dołączył: 30 Lis 2023 Posty: 1
|
Wysłany: Czw Lis 30, 2023 04:41 Temat postu: 服务器是否 |
|
|
或者您是否需要在服务器端逻辑中执行此操作?
前夕:因此 GraphQL 服务器定义了两件事。它定义了服务器上的架构本身,然后定义了解析器函数。这些函数可以从任何地方获取数据。因此,如果我有一个用 GraphQL 包装的 REST API,解析器将从该 API 获取数据,根据需要转换数据,然后在该函数中将其返回给客户端。您也可以在该服务器上使用您想要的任何类型的数据库功能。因此,如果您在许多不同的地方都有数据,那么这是一个非常好的聚合点,可以将所有数据放入其中并围绕“数据来自哪里?我们想如何改造它?”
德鲁:客户端说,“我想要一个复杂的用户”,服务器在查询中接收到该信息,并可能说,“好吧,我要查找复杂的用户解析器。” 是对的吗?
前夕:嗯嗯(肯定)。
德鲁:这是函数,然后编写逻辑,让后端团队 Whatsapp 号码列表 或在该函数内编写逻辑的人员执行返回复杂用户所需的任何操作。
前夕:是的,完全正确。
德鲁:因此,这可能会调用其他 API,可能会查询数据库,可能会在缓存中查找内容,或者几乎任何东西。
前夕:几乎任何东西。然后,只要函数的返回符合架构的要求,匹配返回的字段、类型,那么一切都会顺利和谐地工作。
德鲁:我想它默认会为您的整个 API 提供一致的响应格式。您不必设计它的外观。您只会得到一致的结果。
前夕:是的,完全正确。
德鲁:我认为这确实是一个很大的胜利,因为在大范围的 API 端点之间保持一致性确实很困难,尤其是在较大的团队中。不同的人正在做不同的事情。除非你有相当严格的治理,否则它很快就会变得非常复杂,不是吗?
前夕:是的,绝对是。我认为 Schema 就是一个很好的小文档来描述一切。每当您尝试向该架构发送查询时,您都会自动看到该架构中的所有字段,因为您可以发送内省查询,并且有各种不错的工具可以实现这一点,例如 GraphQL 和 GraphQL Playground,可用于与 API 数据交互的小工具。
前夕:而且,如果您曾经使用过 Postman,比如 ping REST API,那么很多文档实际上并不存在,或者很难找到,或者诸如此类的事情。GraphQL 确实为您提供了一个很好的内聚层来描述可能属于该 API 的所有内容。
德鲁:实际上,服务器端是如何工作的?我的意思是,我想您需要运行 GraphQL 服务作为基础设施的一部分,但这采取什么形式呢?它是在自己的端口上运行的整个服务器吗?或者它就像一个集成到现有 Express 或 Apache 或其他任何程序中的库,并具有解析该服务的路径?你如何实施它?
前夕:是的,这是一个真正的服务器。最流行的 GraphQL 实现是 Node.js 服务器。当 GraphQL 作为规范发布时,团队发布了 JavaScript 中的参考实现,这是一种 Node 服务器,为所有其他出现的服务器提供了指导。但是,是的,您可以在这些服务器自己的实例上运行这些服务器。您可以将它们放在 Lambda 上。所以有 Apollo Server Express,有 Apollo Server Lambda;您可以使用各种不同类型的实现来实际运行这个东西。
德鲁:所以您之前简要提到了服务器具有的架构的概念。
前夕:是的。
德鲁:这使您能够更严格地描述您的类型,而不仅仅是将名称映射到解析器。那里还涉及更多,是吗?
前夕:是的。有完整的语言。所以我参考了规范,但没有描述它是什么。GraphQL 本身是一个描述查询语言和 Schema 定义语言的规范。所以它有自己的语法。它有自己的定义这些类型的规则。 _________________ Whatsapp 号码列表 |
|
Powrót do góry |
|
|
Reklama
|
Wysłany: Czw Lis 30, 2023 04:41 Temat postu: |
|
|
|
|
Powrót do góry |
|
|
|
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
|
|