Apollo-link-rest: 如何调用任意 URL?

创建于 2019-02-16  ·  7评论  ·  资料来源: apollographql/apollo-link-rest

你好,

有没有办法在查询中调用任意 URL?

文档说@rest指令中的path可以采用路径或完整的 URL。 但是,在传递以下查询时,出现错误:

query getFoo {
  foo @rest(type: "Foo", path: "https://foo.com/foo") {
    bar
  }
}
Deprecated: '@rest(path:' contains a ':' colon, this format will be removed in future versions
index.js:1446 [Network error getIP]: Missing parameters to run query, specify it in the query params or use an export directive. (If you need to use ":" inside a variable string make sure to encode the variables properly using `encodeURIComponent`. Alternatively see documentation about using pathBuilder.)

当我然后通过path="${encodeURIComponent('https://foo.com/foo')}" ,REST 链接尝试点击https://[my current url]https%3A%2F%2Ffoo.com%2Ffoo

pathBuilder类似地将我构建的路径附加到我的原始 URL。

是否唯一的选项是注册您的应用程序将在 REST 链接设置中调用的每个 URL? 如果是这样,我认为应该更新文档以反映path不采用完整的 URL。

bug 🐛 help wanted 🛠

所有7条评论

感谢您报告此@timhwang21这绝对是大约一年前引入的错误。

我猜很多人为整个 RestLink 配置了一次他们的“基本端点”,所以我猜人们并没有经常使用这个功能。 -- 在@rest()注释中抑制此警告并恢复对完整网址的支持应该非常简单。

如果有人想贡献修复,我会支持帮助审查 PR。

太棒了,我可以在周末休息一下。 @fbartho您是否有任何关于我应该首先查看代码库的哪一部分的指示? 谢谢。

@timhwang21不幸的是,我们的代码库中确实只有一个源文件,它并不是很长,但我希望您需要更改整个文件中的几个地方。

我遇到了这个问题,并会发现允许路径中的完整 url 或其他选项来定义新 url 的价值,例如url: "https://domain.com/api/path/1"

@timhwang21你能搞点什么吗?

Fwiw 这里是我为让它在此期间工作而做的一些工作。

  1. 在配置中指定empty端点。 请注意,值empty: ' '有一个实际空间。
    image
  2. 将此用作查询中的端点,这是解决瀑布请求的示例...
    image

差不多就是这样。

我没有,我们最终将我们的休息服务迁移到了 GraphQL。

2019 年 7 月 22 日星期一上午 9 点 14 分,Mat Silva [email protected]写道:

我遇到了这个问题,并会发现在路径中允许一个完整的 url 或
定义新 url 的另一个选项,如 url:"
https://domain.com/api/path/1 ”。

@timhwang21 https://github.com/timhwang21你能
有事吗?

Fwiw 这里是我为让它在此期间工作而做的一些工作。

  1. 在配置中指定一个空端点。 注意有一个实际
    空值中的空格:' '。
    [图像:图像]
    https://user-images.githubusercontent.com/4511972/61635093-c85eba80-ac60-11e9-87aa-eae6cf788e59.png
  2. 将此用作查询中的端点,这是一个示例
    解决瀑布请求...
    [图像:图像]
    https://user-images.githubusercontent.com/4511972/61635160-f0e6b480-ac60-11e9-8879-e78f0ae4d982.png

差不多就是这样。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/apollographql/apollo-link-rest/issues/192?email_source=notifications&email_token=ABMPWCWNFOUEL4WFA3GSY7TQAWXEZA5CNFSM4GX3BPZ2YY3PNVWWK3TUL52HS4DFVREXG43MVVMXVBHW6524DFVREXG43MVVMXVBHW6500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003
或静音线程
https://github.com/notifications/unsubscribe-auth/ABMPWCVPMVEBZQSMS2CGQQLQAWXEZANCNFSM4GX3BPZQ
.

为 GraphQL 提供休息服务。

是的,这也行 :grin:

在混合使用 Github 的 API 时遇到了这个问题,其中一些还没有在他们的 GraphQL API 中。 他们的 Rest API 有很多我可以导出和重用的绝对 URL 字段,但是:捕获阻止它工作。 但是, @matsilva在空端点中进行黑客攻击的解决方法确实对我

此页面是否有帮助?
0 / 5 - 0 等级