エンドポイントに送るパラメータについて、フロントエンドからクエリでリクエストするのと、Kurocoの管理画面で設定するのとで違いがありますか?
エンドポイントに設定するパラメータについて、下記2つの方法があります。
- フロントエンドからクエリを付けてリクエストする。
- Kurocoの管理画面で設定する。
以下にそれぞれの特徴を説明いたします。ご利用用途により最適な方法をご選択ください。
フロントエンドからクエリを付けてリクエストする。
クエリでリクエストすることで、エンドポイントからのレスポンスを動的に変更できます。
検索機能を実装するのfilter
のパラメータや、KurocoとNuxt.jsで、多言語サイトを構築するの?_lang=en
のパラメータはこちらの方法で設定をし、同じページ内で表示の変更をしています。
Kurocoの管理画面で設定する。
APIのページから[更新]をクリックして表示される[エンドポイントの設定]で設定します。
パラメータを管理画面で設定すると、ユーザー(もしくは外部の方)からはそのパラメータは変更できません。
固定化しておきたいものや、セキュリティ関連などで変更をされたくないパラメータは、Kurocoの管理画面内で設定をしてください。
基本的にはAPIの設定で指定されているパラメータは外部からのリクエストで上書きできませんが、検索条件になっている一部パラメータや設定はさらに絞り込む用途で上書きができるものもあります。
例) 一覧の表示件数を指定するcntパラメータは上書きが可能です。
例えばお問合せフォームとしてPOST .../form/${form_id}
のようなエンドポイントを作った場合、ユーザーが任意のパラメータを付けて送信できます。
すると、下記のフォーム(ID=5, 6, 7)のいずれにもデータを送信できてしまい、セキュリティ上問題があります。
このような場合は、公開するフォームに対してそれぞれにエンドポイントを個別で作成し、管理画面内でフォームidの設定をします。
例えば下記の様に設定することで、form_idが7
のフォームはユーザーが自由に利用できないようになるので、セキュリティリスクを取り除けます。
- POST .../form/bug_report -> form_id は5で固定
- POST .../form/inquiry -> form_id は6で固定
まとめ
2つの方法は、ユーザーからパラメータを変更できるか否かに違いがあります。
フロントエンドからクエリを付けてリクエストする方法は、パラメータを動的に付与したい場合に、Kurocoの管理画面で設定する方法は、セキュリティ関連などでパラメータを固定したい場合に向いています。
用途に合わせて設定をお願いいたします。
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。