まず第一に、私たちが安らか-APIが何であるかを知っている必要があり、それは背景が何であるかを生成し、そのためには、より良い私たちにこの知識を学び、習得するために、どのような役割です。
安らか-APIはどのようなものです:
EST、すなわちのRepresentational State転送頭字語。直接翻訳手段は「状態はプレゼンテーション層を変形させました。」
これは、APIは、インターネットアプリケーションを設計している:URLは、HTTP動詞(GET、POST、DELETE、DETCなど)動作の説明とリソースを探します。
背景と効果:
近年、モバイルインターネットの発展、フロント・エンド・デバイス(携帯電話、タブレット、デスクトップコンピュータ、その他の機器...)、フロントエンドとバックエンドの無限ストリームの開発者が開発し、他のテストの間に対話する必要がある場合、その質問はこの相互作用とテストでは、どのように我々はそれをテストし、リンクの上に容易に同意することができますか?したがって、このため、規制する統一されたメカニズムが存在しなければならないテストに開発を容易にし、開発効率を向上させるために、そしてRESTfulなが生まれ、そして安らか-APIの設計仕様は、ほとんどのプログラマが認識し、それはウェブのための統一されたインタフェースを介してすることができ、iOSとAndroidのは、サービスを提供しています。
私たちは上記の内容は安らか-APIの一定の知識と理解、設計仕様安らか-APIについて、次の特定を持っている必要があり読んで考えています。
具体的な設計仕様:
1. APIは、プライベートドメイン名の下に展開されるようにしてください
http://api.douban.com
/ V2 /ユーザー/ 1000001?APIキー= XXX
2. APIのバージョン番号は、URLの中に配置する必要があります
http://api.douban.com/v2
/ユーザー/ 1000001?APIキー= XXX
RESTfulなアーキテクチャ3.各URLので、資源(リソース)を表し网址中不能有动词,只能有名词
、そして使用しました名词往往与数据库的表格名对应
。APIはまた、複数の名詞を使用する必要がありますので、一般的には、データベース内のテーブルには、レコードの「コレクション」(コレクション)の同じ種類です。
http://api.douban.com/v2/
book
/:上記ID(書籍情報を取得)上記
http://api.douban.com/v2/movie
/件名/:上記ID(映画のエントリ情報)上記
HTTP://api.douban。 COM / V2 /music
/:上記のid上記(音楽情報を取得する)
http://api.douban.com/v2/event
/:上記ID(都市買収活動)
リソース、要求モードの動作の特定のタイプ4.は、HTTP動詞で表されます。一般的なHTTP動詞は、(対応する4つの次を持っています增/删/改/查
)。
GET
select
():サーバー(一つ以上)からリソースを削除します。
例えば書籍情報取得するためにGET
http://api.douban.com/v2/book/:idを
POST
create
():サーバー上に新しいリソースを作成します。
例えば、ユーザーの好きな本POST
http://api.douban.com/v2/book/:id/collection
PUTは(
update
):サーバーのリソースを更新(クライアント変更した後、完全なリソースを提供します)。
例えば、ユーザ修正の本のコレクションPUT
http://api.douban.com/v2/book/:id/collection
DELETE
delete
():サーバーからリソースを削除します。
例えば、ユーザが記事のノートを削除しDELETE
http://api.douban.com/v2/book/annotation/:id
5.多数のレコード、サーバーはすべて、そのユーザーに返すことができない場合。APIはすべき提供参数,过滤返回结果
?limit=10:
指定したレコードの数が返された
例を。帳の情報を取得するGET
http://api.douban.com/v2/book/:id?limit=10
6.サーバがユーザに返さ状态码和提示信息
各ステータスコードは、コードが同じように、別の意味を表し
2系
、通常のリターンを表す
4系
異常データに代わって
5系
のサーバーに代わってを
インターフェイスのセキュリティ:
1.API認証はOAuth 2.0のフレームワークを使用する必要があります。
婚約の2.技術チーム独自のルール
2つのパラメータが追加
time, token
time
インタフェース要求タイムアウトか否かを判断するためのタイムスタンプのための
token
タイムスタンプ文字列の暗号化のために、暗号化ルールだけあなたがあなた自身の技術チームを知っています