---
title: エンドポイントに送るパラメータについて、フロントエンドからクエリでリクエストするのと、Kurocoの管理画面で設定するのとで違いがありますか？
description: エンドポイントに設定するパラメータについては、「フロントエンドからクエリを付けてリクエストする」「Kurocoの管理画面で設定する。」の2つのパターンがあります。それぞれの特徴を説明いたしますので、ご利用用途により最適な方法をご選択ください。
category: other
---

import StructuredDataFaqs from '@site/src/components/StructuredDataFaqs';

<StructuredDataFaqs faqs={[
    { question: "エンドポイントに送るパラメータについて、フロントエンドからクエリでリクエストするのと、Kurocoの管理画面で設定するのとで違いがありますか？", answer: "エンドポイントに設定するパラメータについては、「フロントエンドからクエリを付けてリクエストする」「Kurocoの管理画面で設定する。」の2つのパターンがあります。それぞれの特徴を説明いたしますので、ご利用用途により最適な方法をご選択ください。" }
]} />

エンドポイントに設定するパラメータについて、下記2つの方法があります。  

- フロントエンドからクエリを付けてリクエストする。
- Kurocoの管理画面で設定する。  

以下にそれぞれの特徴を説明いたします。ご利用用途により最適な方法をご選択ください。

## フロントエンドからクエリを付けてリクエストする。
クエリでリクエストすることで、エンドポイントからのレスポンスを動的に変更できます。  

![Image (fetched from Gyazo)](https://t.gyazo.com/teams/diverta/13638a7ddb76b19aa6f000e6c63390e5.png)
[検索機能を実装する](/ja/docs/tutorials/implement-a-search-function/)の`filter`のパラメータや、[KurocoとNuxt.jsで、多言語サイトを構築する](/ja/docs/tutorials/building-a-multi-language-site/)の`?_lang=en`のパラメータはこちらの方法で設定をし、同じページ内で表示の変更をしています。  

## Kurocoの管理画面で設定する。 
[API](/ja/docs/management/api-list/#新しいエンドポイントの追加)のページから[更新]をクリックして表示される[エンドポイントの設定]で設定します。

![Image from Gyazo](https://t.gyazo.com/teams/diverta/5b32035eb9e9799d4d50174bd179ffd5.png)

パラメータを管理画面で設定すると、ユーザー（もしくは外部の方）からはそのパラメータは変更できません。  
固定化しておきたいものや、セキュリティ関連などで変更をされたくないパラメータは、Kurocoの管理画面内で設定をしてください。  

:::tip
基本的にはAPIの設定で指定されているパラメータは外部からのリクエストで上書きできませんが、検索条件になっている一部パラメータや設定はさらに絞り込む用途で上書きができるものもあります。  
例） 一覧の表示件数を指定するcntパラメータは上書きが可能です。  
:::

例えばお問合せフォームとして`POST .../form/${form_id}`のようなエンドポイントを作った場合、ユーザーが任意のパラメータを付けて送信できます。  
すると、下記のフォーム(ID=5, 6, 7)のいずれにもデータを送信できてしまい、セキュリティ上問題があります。

![Image (fetched from Gyazo)](https://t.gyazo.com/teams/diverta/040fde895ceea40db37f2b4337927cb4.png)
このような場合は、公開するフォームに対してそれぞれにエンドポイントを個別で作成し、管理画面内でフォームidの設定をします。

例えば下記の様に設定することで、form_idが`7`のフォームはユーザーが自由に利用できないようになるので、セキュリティリスクを取り除けます。
- POST .../form/bug_report -> form_id は5で固定
- POST .../form/inquiry -> form_id は6で固定

## まとめ
2つの方法は、ユーザーからパラメータを変更できるか否かに違いがあります。  

フロントエンドからクエリを付けてリクエストする方法は、パラメータを動的に付与したい場合に、Kurocoの管理画面で設定する方法は、セキュリティ関連などでパラメータを固定したい場合に向いています。  
用途に合わせて設定をお願いいたします。