#休息とは何ですか?
restful は現在最も人気のあるインターフェイス設計仕様であり、フロントエンドとバックエンドの両方が知っておく必要がある仕様です
この仕様はインターフェイス開発の各プロセスを定義します
# #プロトコル
APIを介してバックエンドサービスと通信する場合、クライアントはHTTPSプロトコルを使用する必要があります
ドメイン名
API専用ドメイン名での展開は、できるだけシンプルにする必要があります。 API が非常に単純でこれ以上拡張されないことが確実な場合は、メイン ドメイン名の下に API を配置することを検討できます。一般的な URL ルートの 2 つの例を次に示します:
api.example.com /* インターフェイスへのアクセスに使用される単一のサブドメイン名
- example.com/api/* メイン ドメイン名の下にある別のスペース
-
Versioning
すべて API は下位互換性を維持する必要があります。古いバージョンの API が引き続き使用できることを確認しながら、新しいバージョンの API を導入する必要があります。したがって、バージョン サポートを提供する必要があります。
アドレス (パス) ルーティング (ルーター)
API の特定の URL
URL の名前はすべて小文字である必要があります。
- URL 内のリソースの名前は名詞であり、複数形である必要があります。
- Restful タイプの URL を最初に使用する必要があります
- URL は読みやすくなければなりません
- URL はサーバー アーキテクチャを公開してはなりません
- URL でハイフン (-) を使用する必要があるか、アンダースコア (_) を使用する必要があるかについては、厳密なルールはありませんが、チームの状況に応じて統一する必要があります。 api.example.com/animals
https://api .example.com/zoos/{zoo}/animals
https://api.example.com/animal_types-
https://api.example.com/employees-
- Verb (リクエストメソッドメソッド)
-
- リソースの特定の操作タイプを表しますHTTP動詞によって。一般的に使用される HTTP 動詞は 5 つあります (括弧内は対応する SQL コマンドです)。
GET (SELECT): サーバーからリソース (1 つ以上の項目) を取得します。 POST (CREATE): サーバー上に新しいリソースを作成します。
PUT (UPDATE): サーバー上のリソースを更新し (クライアントは完全に変更されたリソースを提供します)、完全に更新します。
PATCH (UPDATE): サーバー更新リソース (クライアントが変更された属性を提供) 部分を更新します。 - DELETE (DELETE): サーバーからリソースを削除します。
-
- url パラメータ
-
- すべての URL パラメータはすべて小文字にする必要があり、アンダースコア型のパラメータ形式を使用する必要があります
ページング パラメータは固定する必要がありますto page、page_size
Response
適切な HTTP ステータス コードを選択する必要があります。
JSON 形式のデータを返す必要があります。
すべてのエラーは同じエラー形式である必要があります。
一般的なステータス コード
1xx は、リクエストが受け入れられ、処理を続行する必要があることを意味します。通常、
2xx は表示されませんAPI 内で「リクエストは成功しました。」の場合、リクエストで予期されるレスポンス ヘッダーまたはデータ本文がこのレスポンスとともに返されます200 サーバーはユーザーによってリクエストされたデータを正常に返します
201 ユーザーがデータの作成または変更に成功しました。- 202 リクエストがバックグラウンドでキューに入れられたことを意味します (成功した場合は戻り値がなく、非同期です)
204 削除が成功しました-
- 3xx リダイレクト
- 4xx クライアント エラーの理由
- 404 要求されたインターフェイスが存在しません、エラーの種類 (要求アドレスが間違っています)
401 ユーザーはログインしていません- 403 ユーザーはログインしていますが、アクセス権限がありません
- #422 クライアントパラメータエラー、検証エラー
- 429 リクエスト制限超過
-
- 5xx サーバーの理由によるエラー
- 500 サーバーで予期しない状況が発生したため、リクエストの処理を完了できませんでした。サーバー コードエラーが報告されました
##503 サーバーはメンテナンス中です- #504 タイムアウト呼び出し
- ##エラー形式
-
'message' => ':message', // 错误的具体描述
'errors' => ':errors', // 参数的具体错误描述,422 等状态提供
'code' => ':code', // 业务自定义的异常码
'status_code' => ':status_code', // http状态码
'debug' => ':debug', // debug 信息,非生产环境提供
ログイン後にコピー
- メッセージとは何ですか?
- HTTP メッセージは、HTTP リクエストと応答の際に情報を交換するために使用されます。メッセージはクライアントからサーバーに流れます。
メッセージは、要求メッセージと応答メッセージの 2 つのカテゴリに分類されます。
要求メッセージと応答メッセージの基本的なメッセージ構造は同じであり、どちらも次の 3 つの部分で構成されています:
開始行: メッセージの説明
ヘッダー: いくつかの属性
件名: データ[オプション]
axios
ブラウザおよびノード サーバーとの互換性- ブラウザから XMLHttpRequests を作成
node.js から http リクエストを作成- サポート プロミスAPI
- リクエストとレスポンスの傍受をサポート
リクエスト データとレスポンス データを変換
リクエストをキャンセル
JSON データを自動的に変換 クライアントは XSRF に対する防御をサポート
さあ、見知らぬ人々! (私はあちこちであなたにとって見知らぬ人ではありません、それがあなたの助けになることを願っています)
以上がこれらの核となる知識ポイントは、フロントエンドとバックエンドの通信で習得する必要があります。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。