10章クライアント視点で見るRESTful API

これまでの章で、ウェブブラウザと同等のHTTP通信をcurlコマンドや、Go言語を使って実行する方法について学びました。本章ではGo言語特有のトピックとして、Go言語からRESTful APIを利用するコードの作成法を学びます。

本書のコンセプトは「ブラウザの視点から学ぶHTTP」なので、サーバー開発者の立場でREST APIを実装する方法論やAPIデザインの紹介はしません。別途『RESTful Webサービス』1やまえがきで紹介した『Web API: The Good Parts』などの書籍を参照してください。ただし、良いAPIはクライアントからも使いやすいAPIです。サーバー開発者も本章を読むことで「こうしておけばもっと使いやすくなる」というヒントを得られるでしょう。

1

Leonard Richardson, Sam Ruby 著、山本 陽平 監訳、株式会社クイープ 訳、ISBN978-4-87311-353-1

10.1 RESTful API

ちょうど10年ぐらい前、マッシュアップという言葉がさかんに使われました。Google Mapsをはじめとした、クライアントでは扱えないほどの大容量のデータ、天気情報などの観測システムから送られてくるリアルタイムの情報を取り扱うウェブサービスがたくさん作られました。それらのサービスはウェブブラウザから利用することを前提として作られましたが、APIも提供しており、ウェブサービス同士を組み合わせて利用することができるようになりました。このウェブサービスを組み合わせて新しい付加価値を生み出す手法は「マッシュアップ」と呼ばれます。こうしてウェブサービスのインタフェースとして、HTTPをベースにしたサーバー/クライアント間通信が広く利用されるようになりました。 ...