API作成概要
API作成について
エンドポイントとは:
web APIにおけるエンドポイントは、アクセスするためのURIを指す。
エンドポイントの設計の原則:
覚えやすく、どんな機能をもつURIなのかすぐわかること
URI(エンドポイント)がAPIにおいて操作する対象(リソース)を表す
HTTPメソッドは何をするかを表す
メソッド
get リソース取得
post リソース新規登録
put 既存リソース更新
delete リソース削除
patch リソース一部変更
head リソースのメタ情報の取得
HTMLのフォームの仕様では、getとpostのみがサポートされているため、それ以外のメソッドを使うK十ができない。
そこで、
* X-HTTP-Method-OverrideというHTTPリクエストヘッダを利用
* _methodというパラメータを利用:
application/x-www-from-urlencodedという今テントタイプで表されるデータの一つとしてメソッドを送信する。
railsで利用。Formパラメータのひとつとして、_method=PUTなどとして指定
スペースやエンコードを必要とする文字をエンドポイントとしてつかわない
URIでは利用できない文字があり、そういった文字はパーセントエンコーディングと呼ばれる文字コードを%つきで表した表記法を利用して表すが、よろしくない。
また、ホワイトスペースはURIでは+に変換される、kろえも見づらいからよくない。
検索と取得位置のパラメータ
アイテム数50個/ページ表示するとき、3ページめ(101個めのアイテムから表示)するならURIは
per_page=50&page=3 や limit=50&offset=100
が好ましい
どちらかというと、limit/offsetのほうがユーザの自由度は高い
絞り込み
名前検索
v1/people-search?first-name=Clair
タグ検索
v1/blog/pitchersandpoets.tumblr.com/posts?tag=new+york+yankees
twitter/1.1/search/tweets.json?q=%23freebandnames
OAuth
広く第三者に公開されるAPIにおいて認可を行うために利用される
自分がサービスを公開して、fbと連動させる場合に、
使用者がfacebookに登録している情報を利用していいか自身のサービスに許可を与えられる仕組みがOAuth
OAuthのポイントは、自身のサービスに対してユーザがfacebookのパスワードを入力する必要がないところ。
認可プロセスにおいて、fbの提供するウェブページを経由して認証するから。
データフォーマット
この本から学んだことをまとめました.