1.6. マッピングルール
マッピングルールでは、API に対するリクエストに応じてどのメトリクス (およびメソッド) を報告するかを定義します。
デフォルトでは、非常に単純なマッピングルールから開始します。
このルールは、/
で始まるすべての GET
リクエストが、メトリクス hits
の値を 1 つ増やすという意味です。このマッピングルールは、API へのすべてのリクエストに一致します。一般的すぎるため、このルールを変更する可能性が高いです。
APIcast は以下のようにパラメーターを取得します。
- GET メソッドの場合: APIcast はクエリー文字列からパラメーターをフェッチします。
- これらのメソッド (POST、DELETE、PUT) の場合: APIcast は本体からパラメーターをフェッチします。
パラメーターには名前付きワイルドカードを含めることもできます。ワイルドカードは、スラッシュとスラッシュの間またはスラッシュとピリオドの間に使用することができます。
以下の例は、Echo API のルールです。
マッピングルールには、クエリー文字列または本文にパラメーターを含めることもできます: /{word}?value={value}
。
ルールのマッチングは接頭辞によって行われ、任意に複雑にすることができます (表記は Swagger および ActiveDocs の仕様に従います)。
-
リテラル文字列のパスで一致を行うことができます:
/hello
-
マッピングルールには名前付きワイルドカードを含めることができます:
/{word}
このルールは、プレースホルダー {word}
で定義する任意の文字にマッチします。たとえば、/morning
のようなリクエストがルールにマッチします。
ワイルドカードは、スラッシュとスラッシュの間またはスラッシュとピリオドの間に使用することができます。
-
マッピングルールには、クエリー文字列または本文にパラメーターを含めることもできます:
/{word}?value={value}
APIcast は、GET の場合はクエリー文字列から、POST、DELETE、PUT の場合は本体からパラメーターを取得しようとします。
パラメーターには名前付きワイルドカードを含めることもできます。
デフォルトでは、指定したソート法に従ってすべてのマッピングルールが順番に評価されます。上の図の例にルール /v1
を追加すると、パスが /v1/word
か /v1/sentence
かを考慮して、パスが/v1 で始まるリクエストに一致します。