用swagger-php/ui做API测试
功能:
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/