Home >Backend Development >PHP Tutorial >用swagger-php/ui作API测试

用swagger-php/ui作API测试

WBOY
WBOYOriginal
2016-06-13 12:14:431070browse

用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") *   ) * ) */

项目描述信息
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/

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn