UriMatcher :スコープ対象
URI が、スキーム、ホスト、パス、フラグメント、およびクエリパラメーターの存在に関して指定された基準と一致するかどうかを確認するメソッドを提供します。
UriMatcher API には、デフォルトでアクティブになっている REST API プロバイダー (com.glide.rest) プラグインが必要です。
この API は、 sn_ws 名前空間内で提供されます。
UriMatcher:UriMatcher()
新しい UriMatcher オブジェクトをインスタンス化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
UriMatcher オブジェクトをインスタンス化します。
var matcher = new sn_ws.UriMatcher();
UriMatcher - match(文字列 uri, 文字列スキーム, アレイホスト, アレイパス, アレイフラグメント, ブール値 disallowQueryParameters)
URI が、スキーム、ホスト、パス、フラグメント、およびクエリパラメーターの存在に関して指定された基準と一致するかどうかを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| uri | 文字列 | 指定された基準に対してテストする URI。 |
| スキーム | 文字列 | URI で使用されるプロトコル。 有効な値:
|
| ホスト | アレイ | URI 内の許可されたホストのリスト。 一致と見なされるには、URI で許可されたホストの 1 つを使用する必要があります。 |
| パス | アレイ | オプション。URI で許可されるパスのリスト。 一致と見なされるには、URI で許可されたパスの 1 つを使用する必要があり、許可されたパスは URI で使用される完全パスである必要があります。たとえば、許可されたパスが 注:
パスは / で始まる必要があります。デフォルト:任意のパスが許可されます。 |
| フラグメント | アレイ | オプション。URI で許可されるフラグメントのリスト。 URI は、許可されたフラグメントのいずれも含まれていない場合でも、一致と見なされます。URI は、許可リストにないフラグメントが含まれている場合にのみ、一致しないと見なされます。 デフォルト:任意のフラグメントが許可されます。 |
| disallowQueryParameters | ブーリアン | オプション。クエリパラメーターを URI で許可するかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| タイプ | 説明 |
|---|---|
| UriMatcherResponse | 一致に関する詳細情報を返すメソッドを持つ UriMatcherResponse オブジェクト。 |
この例では、URI が指定されたスキームとホストと一致するかどうかを確認します。
var uri = "https://example.com/path?q=query";
var scheme = "https";
var allowedHosts = ["example.com"];
var matcher = new sn_ws.UriMatcher();
var resp = matcher.match(uri, scheme, allowedHosts);
gs.info("Is URI a match: " + resp.isMatch());
出力:
Is URI a match: true
この例では、URI が指定されたスキーム、ホスト、パス、フラグメント、およびクエリパラメーターの存在と一致するかどうかを確認します。
var uri = "https://example.com/path1/more";
var scheme = "https";
var allowedHosts = ["example.com", "sample.com"];
var allowedPaths = ["/path1/more", "/path2/less"];
var allowedFragments = ["section1", "section2"];
var noQueryParams = true;
var matcher = new sn_ws.UriMatcher();
var resp = matcher.match(uri, scheme, allowedHosts, allowedPaths, allowedFragments, noQueryParams);
gs.info("Is URI a match: " + resp.isMatch());
gs.info("Is scheme a match: " + resp.isSchemeMatches());
gs.info("Is host a match: " + resp.isHostMatches());
gs.info("Is path a match: " + resp.isPathMatches());
gs.info("Is fragment a match: " + resp.isFragmentMatches());
gs.info("Error occurred: " + resp.isError());
gs.info("Error message: " + resp.getErrorMessages());
出力:
Is URI a match: true
Is scheme a match: true
Is host a match: true
Is path a match: true
Is fragment a match: true
Error occurred: false
Error message: