1.要想使用swagger需要先在项目中进行配置:
以下代码的意思可以通过在专门的php文件中写入,然后再更新版本的时候可以直接更改该文件下的版本号,以及可以在这里直接设置header头的参数,这里的必须参数以签名、时间戳、用户id为例,非必须参数以版本为例;
/**
* @SWG\Info(
* title="***接口文档",
* version="2.0.0"
* )
*
* @SWG\Swagger(
* schemes={"http"}, //实用的协议类型
* swagger="2.0", //使用的是2.0的swagger版本
* host="maimaimai.com", //要访问的链接地址
* basePath="/",
* consumes={"application/x-www-form-urlencoded"}
* )
*
* @SWG\Parameter(
* parameter="HeaderSign",
* name="x-access-sign",
* type="string",
* in="header",
* required=true,
* description="签名"
* )
*
* @SWG\Parameter(
* parameter="HeaderTime",
* name="x-access-time",
* type="string",
* in="header",
* required=true,
* description="10位Unix时间戳"
* )
*
* @SWG\Parameter(
* parameter="HeaderUid",
* name="uid",
* type="integer",
* in="header",
* required=true,
* description="用户ID"
* )
*
* @SWG\Parameter(
* parameter="HeaderVersion",
* name="x-access-version",
* type="string",
* in="header",
* required=false,
* description="版本号"
* )
*/
2.swagger的请求方式有get、post、put、delete四种方式,下面看一下各种请求的请求实例以及效果吧
1》首先是get请求,一下是两种get请求的不同格式的写法
/**
* @SWG\Get(
* path="/guide/{position}",
* tags={"其他"}, //swagger上的标签名
* summary="获取***信息", //概要,摘要
* description="获取***信息", //接口的详细描述
* @SWG\Parameter(ref="#/parameters/HeaderSign"),
* @SWG\Parameter(ref="#/parameters/HeaderTime"),
* @SWG\Parameter(ref="#/parameters/HeaderUid"),
* @SWG\Parameter(ref="#/parameters/HeaderVersion"),
* @SWG\Parameter(
* name="position",
* type="string",
* in="path",
* required=true,
* description="位置()",
* format="string",
* ),
* @SWG\Parameter(
* name="os",
* type="string",
* in="path",
* required=true,
* description="版本(ios,android)",
* format="string"
* ),
* @SWG\Response(
* response="200",
* description="请求成功.",
* @SWG\Schema(
* type="object",
* required= {"id","name","type","img","appid","path","details_img"}, //因为在这里是required,注意最下面有几个请求数据这里对应的写几个
* @SWG\Property(
* property="id",type="int",description="id",example=155
* ),
* @SWG\Property(
* property="name",type="string",description="name",example="测试"
* ),
* @SWG\Property(
* property="type",type="integer",description="跳转类型",example="1"
* ),
* @SWG\Property(
* property="img",type="string",description="img",example="https://album-1257018105.file.myqcloud.com/mis/5d8dda5012edd.gif"
* ),
* @SWG\Property(
* property="appid",type="string",description="appid",example="wxdc93d68845c52efb"
* ),
* @SWG\Property(
* property="path",type="string",description="path",example="%2Fpages%2Fhome%2Fhome%3Futm_source%3Dsside%26templateId%3D348"
* ),
* @SWG\Property(
* property="details_img",type="string",description="details_img",example="https://album-1257018105.file.myqcloud.com/mis/5d85d89dd7d19.jpg"
* ),
* )
* ),
* @SWG\Response(
* response="400",
* description="uid必须"
* ),
* @SWG\Response(
* response="401",
* description="用户验证失败."
* ),
* @SWG\Response(
* response="403",
* description="验签失败."
* ),
* @SWG\Response(
* response="500",
* description="服务内部错误."
* )
* )
*/
/**
* @SWG\Get(path="/user/info",tags={"swg"},summary="用户信息",description="永固的个人信息",
* @SWG\Parameter(ref="#/parameters/HeaderSign"),
* @SWG\Parameter(ref="#/parameters/HeaderTime"),
* @SWG\Parameter(ref="#/parameters/HeaderVersion"),
* @SWG\Parameter(ref="#/parameters/UID"),
* @SWG\P