ホームページ >バックエンド開発 >PHPチュートリアル >API テストに swagger-php/ui を使用する
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") * ) * ) */
<?php/** * @SWG\Info( * title="MY Project", * description=" xxx", * ) * */
# 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/
#!/bin/sh../swagger-php/swagger.phar ../output-docs -o ../documentation/output/