Web API インターフェースとは何ですか?
リクエスト メソッドを明確にし、対応するバックエンドに必要なパラメーターを指定して、バックエンドから応答データを取得するための URL リンクをリクエストします。
リクエスト メソッド: get、 post、put、patch. ...
リクエストパラメータ: json または xml 形式の key-value 型データ
応答結果: json または xml 形式で key-value 型データを返す
インターフェイスはどうやって書くのですか?
あるルール(仕様)を参考にURLリンクを記述し、そのルールに従ってリクエストメソッド、リクエストデータ、レスポンス結果を策定します
インターフェース仕様: webapiインターフェース仕様: restful
RESTful の紹介
REST はテクノロジとは何の関係もありません。ソフトウェア アーキテクチャ スタイルを表します。REST は Representational State の略です。 Transfer、中国語訳は「表現状態の転送」または「プレゼンテーション層の状態変換」です。
ドメイン名
api キーワードを使用してインターフェイス URL を識別します
https://api.example.com https://example.org/api/
注: api という単語が表示された場合は、リクエストがURL リンクは完了前です
バックグラウンド データ インタラクションのバージョン
1. URL にバージョン情報を入力します (例:
https://api.example.com/v1/ https://api.example.com/v2/
v1、 v2 は異なるデータ バージョンを表します。 撤回では、データ リソースに複数のバージョンがあることが前提です。
2. リクエスト ヘッダーにバージョン情報を入れます。
url パス
インターネット上のあらゆるものをリソースとして捉え、それを名詞で表現します (通常は複数形)
https://api.example.com/v1/zoos https://api.example.com/v1/animals https://api.example.com/v1/employees
URL 内リンク 報酬にはリソースを操作する動詞は表示されません
エラー デモンストレーション:https://api.baidu.com/delete-user
動詞は特別なインターフェイスに表示される可能性があります。一般に、インターフェイスには明確なリソースがないか、動詞がインターフェイスの中核的な意味です。
https://api.baidu.com/place/search https://api.baidu.com/login
メソッド要求メソッド
GET: リソースを取得します (1 つ)または複数のアイテム) をサーバーから取得します)
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]: サーバーは要求されたデータを正常に返します。この操作は冪等です (Idempotent)。
201 CREATED - [POST/PUT/PATCH]: ユーザーはデータを正常に作成または変更しました。
202 Accepted - [*]: リクエストがバックグラウンド キュー (非同期タスク) に入ったことを示します。
204 NO CONTENT - [DELETE]: ユーザーはデータを正常に削除しました。
301: 永続的なリダイレクト
302: 一時的なリダイレクト
400 無効なリクエスト - [POST/PUT/PATCH]: ユーザーが発行したリクエストにエラーがあり、サーバーが続行されませんでした データの作成または変更の操作は冪等です。
401 Unauthorized - [*]: ユーザーに権限がないことを示します (トークン、ユーザー名、パスワードが間違っています)。
403 禁止 - [*] ユーザーは許可されていますが (401 エラーとは対照的に)、アクセスは禁止されていることを示します。
404 NOT FOUND - [*]: ユーザーが発行したリクエストは存在しないレコードに対するもので、サーバーは操作を実行しませんでした。操作は冪等です。
406 受け入れられません - [GET]: ユーザーが要求した形式は利用できません (たとえば、ユーザーは JSON 形式を要求しましたが、XML 形式のみでした)。
410 Gone -[GET]: ユーザーが要求したリソースは完全に削除され、再度取得することはできません。
422 処理できないエンティティ - [POST/PUT/PATCH] オブジェクトの作成中に検証エラーが発生しました。
500 内部サーバー エラー - [*]: サーバー エラーが発生したため、ユーザーはリクエストが成功したかどうかを判断できません。
エラー処理
ステータス コードが 4xx の場合、エラー メッセージが返され、error がキーとして使用されます。
{ error: "Invalid API key" }
結果を返す
さまざまな操作の場合、サーバーからユーザーに返される結果は、次の仕様に準拠する必要があります
GET /collection:リソース オブジェクトのリストを返します (配列)
GET /collection/resource: 単一のリソース オブジェクトを返します
POST /collection: 新しく生成されたリソース オブジェクトを返します
PUT / collection/resource: 完全なリソース オブジェクトを返します
PATCH /collection/resource: 完全なリソース オブジェクトを返します
DELETE /collection/resource: 空のドキュメントを返します
{ "status": 0, "msg": "ok", "results":[ { "name":"肯德基(罗餐厅)", "location":{ "lat":31.415354, "lng":121.357339 }, "address":"月罗路2380号", "province":"上海市", "city":"上海市", "area":"宝山区", "street_id":"339ed41ae1d6dc320a5cb37c", "telephone":"(021)56761006", "detail":1, "uid":"339ed41ae1d6dc320a5cb37c" } ... ] }
ハイパーメディア API
RESTful API は、ハイパーメディアとして実装するのが最適です。つまり、返された結果に他の API メソッドへのリンクが提供されるため、ユーザーはドキュメントを確認せずに次に何をすべきかを知ることができます。
{"link": { "rel": "collection https://www.example.com/zoos", "href": "https://api.example.com/zoos", "title": "List of zoos", "type": "application/vnd.yourformat+json" }}
PHP 関連の知識の詳細については、PHP 中国語 Web サイト をご覧ください。
以上がWeb APIインターフェースとRestful仕様の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

PHPは死んでいません。 1)PHPコミュニティは、パフォーマンスとセキュリティの問題を積極的に解決し、PHP7.xはパフォーマンスを向上させます。 2)PHPは最新のWeb開発に適しており、大規模なWebサイトで広く使用されています。 3)PHPは学習しやすく、サーバーはうまく機能しますが、タイプシステムは静的言語ほど厳格ではありません。 4)PHPは、コンテンツ管理とeコマースの分野で依然として重要であり、エコシステムは進化し続けています。 5)OpcacheとAPCを介してパフォーマンスを最適化し、OOPと設計パターンを使用してコードの品質を向上させます。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトの要件に依存します。 1)PHPは、Web開発に適しており、学習しやすく、豊富なコミュニティリソースですが、構文は十分に近代的ではなく、パフォーマンスとセキュリティに注意を払う必要があります。 2)Pythonは、簡潔な構文と学習が簡単なデータサイエンスと機械学習に適していますが、実行速度とメモリ管理にはボトルネックがあります。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
