用swagger-php/ui做API测试
功能:
1swagger-php根据自定义的规则生成API请求规则,通过phar生成json文件
2打开swagger-ui/dist/index.html。输入json文件夹目录地址(需要同源),swagger-ui会根据请求的JSON生成API,页面很漂亮。输入请求参数后执行会获取返回值。
缺点:不能对返回的数据进行验证。功能类似chrome的插件postman。
ApiAction测试参考代码:
Resource/PostAction.php
Java代码收藏代码
<?php
/**
*@SWG\Resource(
*apiVersion="2.2.0",
*swaggerVersion="1.2",
*basePath="http://test.xxx.com/Api/Post",
*resourcePath="/Post",
*description="OperationsaboutPost",
*produces="['application/json']"
*)
*/
/**
*@SWG\Api(
*path="/apps",
*@SWG\Operation(
*method="POST",
*summary="FindappbybuID",
*notes="ReturnsappsbasedonBUID",
*type="Post",
*nickname="apps",
*authorizations={},
*@SWG\Parameter(
*name="apiVersion",
*description="apiversion",
*required=true,
*type="integer",
*format="int64",
*paramType="form",
*minimum="1.0",
*allowMultiple=false
*),
*@SWG\Parameter(
*name="sessionID",
*description="userloginsession",
*required=true,
*type="string",
*paramType="form",
*defaultValue="9f6cdd0858a1e93b1426659b283a93ec",
*allowMultiple=false
*),
*@SWG\Parameter(
*name="buID",
*description="BUID",
*required=true,
*type="int64",
*paramType="form",
*allowMultiple=false
*),
*@SWG\ResponseMessage(code=400,message="InvalidIDsupplied"),
*@SWG\ResponseMessage(code=404,message="Postnotfound"),
*@SWG\ResponseMessage(code=405,message="Invalidinput"),
*@SWG\ResponseMessage(code=200,message="success")
*)
*)
*/
项目描述信息
Info/api.php
Java代码收藏代码
<?php
/**
*@SWG\Info(
*title="MYProject",
*description="xxx",
*)
*
*/
readme
Java代码收藏代码
#UsageofAPIDocs
###RawSpecStructure
*Info-GeneralInfo.
*Model-EntityClass
*Resource-APIendpoint
###CompileAPIinfo.
*aftermodifythespec,runshellscript,asfollows.
`cdapi-docs`
`./genDocumentation.sh`
*thecompiledcontent(.json)isstoredindocumentation/Output/
###ViewAPIdocs
*visithttp://{domain}/documenation/
sh执行文件
Java代码收藏代码
#!/bin/sh
../swagger-php/swagger.phar../output-docs-o../documentation/output/