メイン コンテンツをスキップする 補完的コンテンツへスキップ

プラス記号によるエンコーディングの問題

Talend Cloud API Testerでのエンコーディングの動作が変更されたことにより、プラス記号が含まれているクエリーで問題が発生する場合があります。

Talend Cloud API TesterがWebformエンコーディングからパーセントエンコーディングに切り替わりました。この変更は、OData API (Talend Cloud Data Inventoryで生成されたものなど)のサポート改善を目的として行われたものです。ただし、スペースとして解釈される必要があるプラス記号( + )が含まれているクエリーパラメーターを使用していない限り、この影響はありません。

Talend Cloud API Testerではプラス記号がエンコードとして解釈されなくなったため、+が含まれているクエリーパラメーターでは[Encode before sending] (送信前にエンコード)オプションがデフォルトで有効になります。このオプションを無効にしない場合、+%2Bとしてエンコードされるため、スペースではなく実際のプラス記号として解釈されます。

この問題は、次の方法で回避できます。
  • クエリーパラメーターで[Encode before sending] (送信前にエンコード)オプションを無効にする
  • +記号を、スペース、またはスペースの新しいエンコーディングである%20に置き換える

このエンコーディング機能の詳細は、クエリーパラメーターのエンコーディングをご覧ください。

たとえばStar Wars APIでLeia Organaを検索するとすれば、次のように指定します。
  • https://swapi.dev/api/people/?search=Leia Organa: この場合、クエリーパラメーターはエンコードされています。
  • https://swapi.dev/api/people/?search=Leia%20Organa: この場合、クエリーパラメーターはエンコードされていません。
どちらのオプションを使っても、リクエストは期待される結果を返します。このリクエストはパーセントエンコーディングのフォーマットでHTTPタブに表示されます。
以前の動作であればhttps://swapi.dev/api/people/?search=Leia+Organaでも同じ結果になったはずですが、現在のエンコーディングではクエリーパラメーターがデフォルトでエンコードされています。このリクエストでは結果が返されず、+%2Bとエンコードされた状態でHTTPタブに表示されます。
[Encode before sending] (送信前にエンコード)オプションを無効にすれば、期待される結果が得られます。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。