GeekFactory

int128.hatenablog.com

URI Template JSを使って簡単にURIを組み立てる

JavaScriptURIを組み立てる時、文字列の連結で頑張ったりしてませんか?

var detail = 1;
var products = ['iphone5', 'nexus7'];
products.forEach(function (product) {
  $.get('/products/' + product + '?detail=' + detail).done(/* ... */);
});

RFC6570 の実装である URI Template JS を使うと、簡単にURIを組み立てることができます。

使い方

Webアプリでの使い方を説明します。

まず、URI Template JS にある uritemplate.js を読み込みます。

<script src="/js/uritemplate.js"></script>

UriTemplate.parse() でテンプレートを生成して template.expand() でURIを生成します。

var uri = UriTemplate.parse('/products/{product}{?detail}');

var detail = 1;
var products = ['iphone5', 'nexus7'];
products.forEach(function (product) {
  $.get(uri.expand({product: product, detail: detail})).done(/* ... */);
});

テンプレートの書き方については、URI Template JS のテストケースを読むと参考になります。練習はWebブラウザのコンソールを使うと便利です。