6 RESTfulな仕様

https://www.cnblogs.com/alice-bj/p/9258121.html

1. RESTfulなとは何ですか

RESTは技術とは何の関係もない、ソフトウェアアーキテクチャのスタイルを表し、RESTはのRepresentational State転送短く、中国語の翻訳は「転送の状態を特徴付けること」です。

RESTリソースは、URLのクライアントアプリケーションを介してリソースにアクセスすることを特徴とURLノードによって識別されたネットワークリソースに配布される、クラス全体のネットワークの観点から見ている、これらのアプリケーションへのアクセスは、これらのステータスを変更した特徴づけます。

リソースが最も重要な属性の他のRESTアーキテクチャスタイルとは異なり、データのすべてが、ネットワークや操作(CRUD)データによって買収されたが、リソース、すべてのデータです。

このリソース指向のRESTアーキテクチャスタイルのために、それが示唆された新しい構造の概念、すなわち:リソース指向アーキテクチャ(ROA:リソース指向アーキテクチャ)。

2、RESTfulなAPIの設計

  • APIと常に使用してユーザの通信プロトコル、HTTPSプロトコルを
  • ドメイン名 
    • APIは、専用のドメイン名を展開しようとしますhttps://api.example.com(クロスドメインの問題があるでしょう)
    • https://example.org/api/ APIは非常に簡単です
    • します。https://api.example.com/v1/のようなURL、
    • 最初のクロスドメインリクエスト、複数の要求のイニシエータを送信
  • パスは、すべてがCTVネットワークリソース上にある、すべての(複数可能)名詞を表します
    • https://api.example.com/v1/zoos
    • https://api.example.com/v1/animals
    • https://api.example.com/v1/employees
  • 方法
    • GET:サーバーからリソース(一つ以上)を削除
    • POST:サーバ上に新しいリソースを作成します。
    • PUT:サーバー上のリソースを更新(クライアントが提供する完全なリソースを変更した後)
    • PATCH:サーバー上で更新されたリソース(クライアントは、プロパティの変更を提供します)
    • DELETE:サーバーからリソースを削除
  • 濾過し、フォームのURLにアップロードされた検索条件パラメータを通過
    • https://api.example.com/v1/zoos?limit=10:返されたレコードの数を指定します。
    • https://api.example.com/v1/zoos?offset=10:指定されたレコードの開始位置を返します。
    • https://api.example.com/v1/zoos?page=2&per_page=100は:最初の数ページだけでなく、ページあたりのレコード数を指定します。
    • https://api.example.com/v1/zoos?sortby=name&order=asc:属性によってソートされた結果を返す指定、およびソート順
    • フィルタ条件を指定します。https://api.example.com/v1/zoos?animal_type_id=1
  • ステータスコード
200 OK - [GET]:サーバが正常にユーザによって要求されたデータを返し、操作が冪等(べき等)です。
201 CREATED - [POST / PUT / PATCH]: 正常に新規または変更されたユーザデータ。
受け入れ202 - [*]:要求を表すが(非同期タスク)背景にキューイングされた
204 NO CONTENT - [削除]:正常にユーザデータを削除します。
400 INVALID REQUEST - [POST / PUT / PATCH]: ユーザー誤って発行された要求、サーバは操作データを作成または変更しない、操作が冪等です。
401権限- [*]:ユーザーが権限(トークン、ユーザ名、パスワードエラー)を持っていないことを示しています。
403禁止- [*]ユーザが許可されていることを示す(401相対誤差)が、アクセスが禁止されます。
404が見つかりません- [*]:ユーザーがサーバーが操作されていない、記録の要求が存在しない発行し、操作が冪等です。
406許容できない- [GET]:ユーザによって要求されたフォーマットが利用可能でない(例えば、ユーザによって要求されたJSON形式のみXML形式など)。
410ゴーン- [GET]:ユーザの要求リソースは永続的に除去され、そして得られないであろう。
422 Unprocesableエンティティ- [POST / PUT / PATCH] オブジェクトが作成されると、検証エラーが発生します。
500内部サーバーエラー- [*] :サーバーエラーが発生し、利用者は、要求が正常に送信されたかどうかを確認することができません。

ます。http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.htmlよりこちらを参照してください。
  • エラー処理、ステータスコード4XXは、キーなどのエラーメッセージ、エラーを返す必要があるとき。
{ 
    エラー: "無効なAPIキー" 
}
  • 異なる操作の結果を返し、サーバーにユーザーから返された結果は、以下の仕様を満たす必要があります。
/コレクションGET:リソースオブジェクトのリスト(配列)を返し
、単一のリソースオブジェクトを返す:/コレクション/リソースをGET 
POST /コレクション:新しく作成されたリソースオブジェクトへの復帰
PUT /コレクション/リソースは:完全なリソースオブジェクトを返す
リターン:PATCH /コレクション/リソースを完全なリソースオブジェクト
DELETE /コレクション/リソース:空のドキュメントを返します。
  • ハイパーメディアAPI RESTfulなAPIはハイパーメディアを行うことが最善であるユーザーがドキュメントをチェックするだけでなく、次に何をすべきか分かっていないように、つまり、返された結果が、でも他のAPIメソッドに、リンクを提供します。
{ "リンク":{ 
  "REL": "コレクションhttps://www.example.com/zoos"、
  "HREF": "https://api.example.com/zoos"、
  "タイトル":「の一覧動物園」、
  "タイプ": "アプリケーション/ vnd.yourformat + JSON" 
}}

  

 

   ます。http://www.ruanyifeng.com/blog/2014/05/restful_api.htmlからの抜粋 

       http://www.cnblogs.com/yuanchenqi/articles/8742684.html

       http://www.cnblogs.com/wupeiqi/articles/7805382.html

      https://www.cnblogs.com/liwenzhou/p/8543035.html

おすすめ

転載: www.cnblogs.com/venicid/p/11311855.html