【问题标题】:Laravel/Lighthouse - Resolve to an external APILaravel/Lighthouse - 解析为外部 API
【发布时间】:2019-07-25 00:01:12
【问题描述】:

我有一个使用 laravel 和 lighthouse 来创建 graphql 设置的设置。我已经浏览了灯塔页面上的教程,效果很好。然而,在我的用例中,我希望使用它来简化 xml Soap API 的使用。

除了创建“解析器”之外,我在文档中找不到如何做到这一点,我已经设法做到了。但是这些设置为字段..?所以为了从另一个 api 返回正确的信息,我必须为每个字段做一个?

我有点迷路了。

简单地说,我只需要问:

如何插入外部 api,以便当我使用 graphql 进行调用时,它会从 api 返回信息?

【问题讨论】:

  • 您需要为所有 API 数据点创建 GraphQl 数据类型并定义所有字段。然后创建与您的其他 API 对应的 GraphQl 端点。 Lighthouse 目前没有工具可以将 XML SOAP 模式转换为 GraphQL 模式。应该有一些工具可以为 Node.js 执行此操作。您可以使用它,然后获取生成的模式文件并使用它来设置 Lighthouse。您也可以创建自己的工具。在这里,我建议创建一个自定义指令来执行此操作。如果您计划将来更新 SOAP API,这可能是最好的方法。
  • 我做了一点挖掘并想出了一个办法。也非常感谢您的洞察力。不胜感激。

标签: php laravel soap graphql laravel-lighthouse


【解决方案1】:

所以我最终使用了灯塔内置的工匠功能来创建自定义解析器:

php artisan lighthouse:query

在 laravel 根目录的 graphql 文件夹中创建的文件允许我正确输入和输出我需要的内容。我基本上会使用这个文件来进行调用并返回响应。

谢谢你的帮助:)

【讨论】:

  • 如果解决了。请记住将您的答案标记为答案。
  • 对此我深表歉意。我不得不等了一天,然后完全忘记了。
猜你喜欢
  • 1970-01-01
  • 2021-04-29
  • 2021-06-29
  • 2021-09-11
  • 2021-12-22
  • 2019-06-19
  • 1970-01-01
  • 2023-02-13
  • 2021-06-19
相关资源
最近更新 更多