ホームページ >バックエンド開発 >PHPチュートリアル >API テストに swagger-php/ui を使用する

API テストに swagger-php/ui を使用する

WBOY
WBOYオリジナル
2016-06-13 12:14:431068ブラウズ

API テストに swagger-php/ui を使用する
機能:
1 swagger-php はカスタム ルールに基づいて API リクエスト ルールを生成し、phar を通じて json ファイルを生成します
2 swagger-ui/dist/index.html を開きます。 json フォルダーのディレクトリ アドレスを入力すると (同じオリジンが必要です)、swagger-ui は要求された JSON に基づいて API を生成し、ページは非常に美しくなります。リクエストパラメータを入力すると、実行により戻り値が返されます。
欠点: 返されたデータは検証できません。この機能は、Chrome プラグインの postman に似ています。
Api Action テストのリファレンス コード:
Resource/PostAction.php

<?php/** * @SWG\Resource( *   apiVersion="2.2.0", *   swaggerVersion="1.2", *   basePath="http://test.xxx.com/Api/Post", *   resourcePath="/Post", *   description="Operations about Post", *   produces="['application/json']" * ) *//** * @SWG\Api( *   path="/apps", *   @SWG\Operation( *     method="POST", *     summary="Find app by buID", *     notes="Returns apps based on BUID", *     type="Post", *     nickname="apps", *     authorizations={}, *     @SWG\Parameter( *       name="apiVersion", *       description="api version", *       required=true, *       type="integer", *       format="int64", *       paramType="form", *       minimum="1.0", *       allowMultiple=false *     ), *     @SWG\Parameter( *       name="sessionID", *       description="user login session", *       required=true, *       type="string", *       paramType="form", * 		 defaultValue="9f6cdd0858a1e93b1426659b283a93ec", *       allowMultiple=false *     ), *	  @SWG\Parameter( *       name="buID", *       description="BU ID", *       required=true, *       type="int64", *       paramType="form", *       allowMultiple=false *     ), *     @SWG\ResponseMessage(code=400, message="Invalid ID supplied"), *     @SWG\ResponseMessage(code=404, message="Post not found"), * 	   @SWG\ResponseMessage(code=405, message="Invalid input"), * 	   @SWG\ResponseMessage(code=200, message="success") *   ) * ) */

プロジェクトの説明情報
Info/api.php
<?php/** * @SWG\Info( *   title="MY Project", *   description=" xxx", * ) * */

readme
# Usage of API Docs### Raw Spec Structure* Info - General Info.* Model - Entity Class* Resource - API endpoint### Compile API info.* after modify the spec, run shell script, as follows.	`cd api-docs`		`./genDocumentation.sh`* the compiled content (.json) is stored in documentation/Output/### View API docs* visit http://{domain}/documenation/


sh 実行可能ファイル
#!/bin/sh../swagger-php/swagger.phar ../output-docs -o ../documentation/output/

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。