RFC6570 の情報やそれを JavaScript から利用するための npm package についての覚書。
URI Template は変数展開を通じて URI の範囲を示す文字列。この仕様は URI Template の構文とそのURI Template を URI 参照に展開するための処理を定義する。
URL Template とそこに埋め込まれる変数の展開 (expansion) の規則の標準化を狙いとしたもののようだ。
JSON Schema and Hyper-Schema の links に使われていることから知った。
Why not use...
RFC 6570 URI Templates directly?
URI templates are designed for expanding data into a template, not matching a route. Taking an arbitrary path and matching it against a URI template isn't defined. In the expansion step of URI templates, undefined variables can be evaluated to '', which isn't useful when trying to do route matching, optional or otherwise. To use a URI-template-like language is possible, but needs to be expanded past the RFC
rcs/route-parser (npm:route-parser)の README にもあるが、template に data を展開して URI をつくる想定で定義されており、URI から template で parse して data をつくる際には不適切かもしれない。
- IETF - RFC6570 - URI Template ... IETF RFC
- github.com/uri-templates ... GitHub Organization
- Implementations · uri-templates/uritemplate-spec Wiki ... 実装の一覧。
- uri-templates/uritemplate-test ... テスト。
- suikawiki - RFC 6570 ... 水準 1 に抑えなかったので必要以上に複雑だ、との見解が記載されている。