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を登録する唯一のオプションはありますか? もしそうなら、完全なURLを取得していないpathを反映するようにドキュメントを更新する必要があると思います。

bug 🐛 help wanted 🛠

全てのコメント7件

これを報告してくれてありがとう@ timhwang21これは間違いなく約1年前に導入されたバグです。

多くの人がRestLink全体に対して一度「ベースエンドポイント」を構成していると思うので、この機能をあまり使用していなかったと思います。 -この警告を抑制し、 @rest()アノテーションのフルURLのサポートを復元するのは非常に簡単です。

誰かが修正に貢献したい場合は、PRのレビューを支援したいと思います。

素晴らしい、私は週末に亀裂を取ることができます。 @fbarthoコードベースのどの部分を最初に調べ始めるべきかについてのポインタはありますか? ありがとう。

@ timhwang21残念ながら、コードベースには実際には1つのソースファイルしかありません。それほど長くはありませんが、ファイル全体のいくつかの場所を変更する必要があると思います。

私はこれに遭遇し、パスに完全なURLを許可するか、 url: "https://domain.com/api/path/1"ような新しいURLを定義する別のオプションを許可することに価値を見出しました。

@ timhwang21何かを

ここでのFwiwは、その間に機能させるために行った小さな回避策です。

  1. 構成でemptyエンドポイントを指定します。 値empty: ' 'には実際のスペースがあることに注意してください。
    image
  2. これをクエリのエンドポイントとして使用します。ウォーターフォールリクエストを解決する例を次に示します...
    image

それはほとんどそれです。

私はそうしていませんが、RESTサービスをGraphQLに移行することになりました。

9:14マットシルバで月、2019年7月22日に[email protected]書きました:

私はこれに遭遇し、パスに完全なURLを許可することに価値を見出します。
urlのような新しいURLを定義する別のオプション: "
https://domain.com/api/path/1 "。

@ timhwang21https ://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=ABMPWCWNFOUEL4WFA3GSY7TQAWXEZA5CNFSM4GX3BPZ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/ABMPWCVPMVEBZQSMS2CGQQLQAWXEZANCNFSM4GX3BPZQ

GraphQLへのRESTサービス。

うん、それもうまくいくだろう:grin:

GithubのAPIを組み合わせて使用​​しているときにこの問題が発生しましたが、その一部はまだGraphQLAPIに含まれていません。 彼らのRestAPIには、エクスポートして再利用できる絶対URLフィールドがたくさんありますが、 :キャッチが原因で機能していません。 ただし、空のエンドポイントでハッキングする@matsilvaの回避策は、私にとっては

このページは役に立ちましたか?
0 / 5 - 0 評価