URI テンプレート展開 (RFC 6570)
ネットワーク
RFC 6570 URI テンプレートは変数から URL を組み立てる方法を記述し、GitHub API、OpenAPI/Swagger のパステンプレート、ハイパーメディア(HAL/JSON-LD)リンクなど至る所で使われています。`https://api.example.com{/version}/users{/id}{?fields*,page}` のようなテンプレートは変数集合に対して実際の URL に展開されます。本ツールは仕様の 4 レベルすべてを実装します — 単純な `{var}` 展開、予約(`{+var}`)・フラグメント(`{#var}`)演算子、ラベル(`.`)・パス(`/`)・パス形式パラメータ(`;`)・フォームクエリ(`?`)・継続(`&`)演算子 — に加え explode(`*`)・prefix(`:n`)修飾子と、空・未定義値の正しい処理まで。変数は文字列・数値・リスト・キー/値マップを値とする JSON オブジェクトで指定し、出力は演算子の要求どおりに正確にパーセントエンコードされます。RFC 6570 の全例題集で検証済みです。すべてローカルで動作し、アップロードされません。
展開された URL
https://api.example.com/v2/users/42?fields=name&fields=email&page=1
RFC 6570 の 4 レベルすべてを実装:演算子 + : # . / ; ? & と explode(*)・prefix(:n) 修飾子。
使い方
- {波括弧} で URI テンプレートを入力、例:{/path}{?query*}。
- 変数を JSON オブジェクト(文字列・数値・配列・オブジェクト)で指定。
- 展開された URL を読んでコピー。テンプレートや変数を変えると結果がライブ更新されます。
よくある質問
- 演算子の意味は?
- 波括弧内の最初の文字が演算子を選びます:なし = カンマ連結の単純値;`+` は予約文字をエスケープしない;`#` はフラグメント;`.` はラベル;`/` はパスセグメント;`;` は `;name=value` パス形式パラメータ;`?` はフォームクエリ `?name=value`;`&` はクエリ継続。各々が独自の区切りと名前の有無を制御します。
- `*` と `:n` は何をしますか?
- `*` は explode 修飾子で、リストやマップを個別の構成要素に展開します(例:`{?list*}` → `?list=a&list=b`、`?list=a,b` ではなく)。`:n` は prefix 修飾子で、エンコード前に文字列値を先頭 n 文字に切り詰めます(例:`value` の `{var:3}` → `val`)。
- リストやマップはどう渡しますか?
- JSON を使います:リストは配列(`"fields": ["name","email"]`)、連想マップはオブジェクト(`"keys": {"semi": ";"}`)です。文字列・数値はスカラーです。欠落・null・空リスト・空オブジェクトの変数は未定義とみなされ、出力に何も加えません。
- エンコードは正しいですか?
- はい — 値は演算子の許可集合に従ってパーセントエンコードされます。単純およびほとんどの演算子は非予約集合外のすべてをエンコードし、`+` と `#` は予約 URL 文字(および既存の %XX トリプレット)をそのまま通し、RFC 6570 に一致します。実装は仕様の全例題表を通過します。
関連ツール
MAC アドレス形式変換
MAC アドレスをコロン・ハイフン・Cisco ドット・区切りなしの表記に、大文字/小文字で変換し、ユニ/マルチキャストとユニバーサル/ローカルの種類を表示します。
IPv4 アドレス変換ツール
IPv4 アドレスをドット付き10進数・32ビット整数・16進数・2進数に変換し、プライベート・パブリック・ループバックなどの種類も判定します。
DNS レコードリファレンス
DNS レコードタイプの検索可能なチートシート — A・AAAA・CNAME・MX・TXT・NS・SOA・PTR・SRV・CAA・DNSSEC・SVCB / HTTPS — 例付き。
サブネット計算機(IPv4 / CIDR)
IPv4 CIDR をネットワークアドレス・ブロードキャスト・ネットマスク・ワイルドカード・ホスト範囲・クラスにパース。バイナリ内訳とプライベート/パブリック判定。
User Agent パーサー
User-Agent 文字列をブラウザ・エンジン・OS・デバイス・CPU に解析。GPTBot・ClaudeBot・PerplexityBot を含む 20 以上のボットを検出。
HTTP ステータスコード リファレンス
1xx-5xx の全 HTTP ステータスコードを検索 — 概要・RFC・使い時・よくある落とし穴付き。