はじめに iPhoneやandroid、フロントエンドJavascriptとのAjax通信のためにサーバー側でAPI開発をする時、どんな設計にするのが良いか情報収集していたのですが、その結果をまとめておこうと言う事で書きました。各項目ごとに参考資料もあるので、皆さんがAPI設計をする際の参考としてご活用ください。 どんなバージョニング方法があるか バージョニング方法は以下の4つがあります。それぞれメリット・デメリットがあるので、その中からサービスの特徴に適した方法を選択します。 1. http headerをカスタムしてapi-versionを書き込む ex) x-api-version: 1 オンライン・オフラインの区別がほとんどないサービスに有効。OAuthベースシステムのサービスとも親和性が高い。api-versionの指定がヘッダーにない場合は最新を使うのが一般的。 使用例 fac
![api開発に失敗しないための情報収集まとめ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/773ef17bf4f2b337c3ad78b3b8e41b70eaac500d/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9YXBpJUU5JTk2JThCJUU3JTk5JUJBJUUzJTgxJUFCJUU1JUE0JUIxJUU2JTk1JTk3JUUzJTgxJTk3JUUzJTgxJUFBJUUzJTgxJTg0JUUzJTgxJTlGJUUzJTgyJTgxJUUzJTgxJUFFJUU2JTgzJTg1JUU1JUEwJUIxJUU1JThGJThFJUU5JTlCJTg2JUUzJTgxJUJFJUUzJTgxJUE4JUUzJTgyJTgxJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1kMTVmZDY5MjJhMzFiNDQwNGE2NGE4Y2JhNDI5ZGM0MQ%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0YWl5b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTQwYzY2NjM3NGJkNDkxOWUwMTUyMzE5N2U5Y2Y0MWU5%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Dc93ee7351d1a02019396eb6af03e85ca)