はじめに Goでweb APIを作る際にはgoaが便利だが、デザイン時にひと工夫することでAPIの柔軟性が増す。ここではgoaの例としてしばしば用いられるワインセラーのAPIを基に、HAL+JSONを取り入れることでセラーの中身すべてを1リクエストで取得する。 セラーの中身をすべて オリジナルのデザインのAPIでセラーの中身すべて、すなわち全アカウントの全ボトルの情報を取得するにはどうすればいいだろうか? これは /cellar/accounts を起点に各アカウントからアカウント毎のボトルの一覧、ボトルの詳細へと辿って行くことで実現できる。 $ curl http://localhost:8081/cellar/accounts [{"href":"/cellar/accounts/1","id":1,"name":"account 1"},{"href":"/cellar/accoun