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

_images/ch11_header.jpg

RESTful APIの仕様をまとめているサイトSwaggerとPostman

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

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

11.1 RESTful API

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