用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/

api

相关推荐