■.索引
○そもそもWebAPIって?
○WEB APIのURL設計
○レスポンスはXMLか?JSONか?
○API設計に関する10のワーストプラクティス
○APIのセルフテストしよーぜ
○WebAPI 設計メモ
○API仕様サンプル
○読み物リンク集
○参考ドキュメント
○PHP関連まとめ
・PHPの備忘録 ~ 意外と簡単Ajax用にAPIを作っちゃお!
・PHPの備忘録 ~ オブジェクト指向のためのクラス定義ノウハウ集
・PHPの備忘録 ~ 初心者トラブルやノウハウ集 ~
■.そもそもWebAPIって?
Web APIとは、ひとことで言えば、インターネット(Web)を経由して、何らかの処理を行うための、手段や決めごと(API)のことです。APIとは、Application Program Interfaceの略で、直訳すると、あるプログラムを、他のアプリケーションから利用するためのインターフェース、という意味になります。
Web APIの基本とAndroidアプリ開発の準備(1/3):CodeZine
■.WEB APIのURL設計
有名サービスのAPIのURL設計が一覧でまとめられてます\(^o^)/
そのURLがAPIであることを表す方法は大きく分けて2種類あります。サブドメインに置き http://api.example.com/ とするか、パスに置き http://example.com/api/ とするか、です。
WEB APIのURL設計のトレンドはこれだ!WEB APIのURL設計まとめ | 三度の飯とエレクトロン
Facebook や Twitter は種類によってサブドメインがわかれているが, ひとつのまとまっている方がよい
Web API 設計のベストプラクティス集 “Web API Design – Crafting Interfaces that Developers Love” – フリーフォーム フリークアウト
複数に訳ないと困るような規模の開発はしてないやww
てかっ、自分が使う側だとしても1つにまとまってた方が嬉しいかな。
■.レスポンスはXMLか?JSONか?
公開されているWeb APIのなかには、XML形式とJSON形式の両方に対応しているものもあれば、どちらか一方だけしか対応していないものもあります。
JavaScriptでのあつかいやすさ、形式のシンプルさでは、JSON形式のほうが優れているため、今後はXML形式よりJSON形式のものが増えそうです。
Web APIの基本とAndroidアプリ開発の準備(2/3):CodeZine
両方サポート仕様とすると地味に開発コストが、、、
小規模のWebAPIしか作ったことないけど、JSONで十分。
てかJSONが使いやすい(^u^)
それに、クライアント側開発者からも、どっちかといえばJSONでお願いされますね。
■.API設計に関する10のワーストプラクティス
【API設計に関する10のワーストプラクティス】
1.貧弱なエラーハンドリング
2.HTTPのルールを無視したREST API
3.裏に潜んだ生のデータモデルの露出
4.セキュリティの複雑さ
5.ドキュメント化されていない予期せぬリリース
6.貧弱なデベロッパエクスペリエンス
7.MVC(Model-View-Controller)フレームワークが良いAPIにしてくれるという思い込み
8.開発すれば使ってもらえるとみなすこと
9.不十分なサポート
10.貧弱なドキュメント
API設計に関する10のワーストプラクティス:海外テック情報局|gihyo.jp … 技術評論社
■.APIのセルフテストしよーぜ
「APIを提供するときは、API自身のテストだけではなく、必ずそのAPIを利用するコードのユニットテストも書く」
もし、API を実際に使わなければ、その設計が良いのか悪いのかを判断することは出来ないですし、結果として誰も使わないような API になってしまうかもしれません。
Typetalk のアーキテクチャ – API を中心にすえたサービス設計 | Nulab 日本語ブログ
これはあるかも。
内部ロジックをデバッグ実行してテストするのと、
実際にクライアント作ってテストするのじゃ感じ方が大分違うよ(^_^;)
■.WebAPI 設計メモ
■.API仕様サンプル
独自のWebAPIを公開されているサイトっぽいです。
こういうの作ってみたいですね(^u^)
WebApiの仕様公開するときの参考にしたいです。
レスポンスデータ検討時に参考にしたいかも。
■.読み物リンク集
■.参考ドキュメント
http://www.slideshare.net/xkxmx/web-api-32832560
http://slides.com/kbigwheel/web-api-design-good-practice/fullscreen#/
■.PHP関連まとめ
https://matome.eternalcollegest.com/post-2139661689396356301
https://matome.eternalcollegest.com/post-2139721895379360601
https://matome.eternalcollegest.com/post-2138836559147472501