一,安装 
1.删除composer.lock  
2.在composer.json文件里面的require 添加包  
"darkaonline/l5-swagger": "^6.2",
  
   
3.清楚缓存  
composer clearcache
  
4.更新依赖(重新生成 composer.lock)  
composer update
  
5.安装完成后,使用如下 Artisan 命令发布该扩展包的配置和视图文件:  
php artisan vendor:publish --provider "L5Swagger\L5SwaggerServiceProvider"
  
6.写注释  
in注释里面  
header是头文件  
path路径  
    /**
     * @OA\Post(
     *     path="/ccc",
     *     operationId="newTaskItem",
     *     tags={"测试-oys"},
     *     summary="测试post方法 传json格式的数据",
     *     description="测试post方法 传json格式的数据,用post方法,传json",
     *   @OA\RequestBody(
     *       @OA\MediaType(
     *           mediaType="application/json",
     *           @OA\Schema(ref="#/components/schemas/UserModel"),
     *           example={
     *              "student_name": "欧阳松",
     *              "student_age": "20",
     *              "student_status": "true",
     *           }
     *       )
     *   ),
     *     @OA\Response(response=200,description="返回成功",),
     *     @OA\Response(response=404,description="路径错误"),
     *     @OA\Response(response=422,description="参数错误"),
     *     @OA\Response(response=500,description="代码或者参数参数"),
     *
     *     security={
     *         {"passport": {}},
     *     }
     * )
     */
  
 * @OA\Schema(
 *      schema="UserModel",
 *      required={"student_name","student_age","student_status"},
 *      @OA\Property(
 *          property="student_name",
 *          type="string",
 *          description="用户名称"
 *      ),
 *      @OA\Property(
 *          property="student_age",
 *          type="integer",
 *          description="年龄"
 *      ),
 *      @OA\Property(
 *          property="student_status",
 *          type="boolean",
 *          description="状态"
 *      )
 * )
  
7.根据注释生成api文档  
php artisan l5-swagger:generate
  
8.访问  
http://127.0.0.1:8000/api/documentation
  
10.为什么开发不用web.php, 用api.php,  
web.php有web中间件由都位于 web 中间件群组,该群组默认启用 CSRF 保护检查,用ajax需要csrf防护,开发网站,用一些ajax就可以用web,  
如果不是网页,微信小程序,安卓, 需要第三方提高接口,就用api.php  
CSRF跨站请求伪造 
攻击者利用URL或者Javascript伪造了一个请求,当用户点击攻击者设置的陷阱时(例如未知的第三方链接)即会发送该伪造的请求。若此时用户刚好访问过该正常网站并且此时用户浏览器与服务器的Session尚未过期,浏览器的 cookie 之中含有该用户的认证信息。此时该请求将会认证通过,服务器将会认为这是用户本人发出的合法请求,此时请求生效。CSRF攻击成功。  
即攻击者盗用了你的身份,以你的名义发送了恶意请求,而对于服务器来说该请求是合法请求。  
CSRF必须的条件:  
1.被伪造身份的目标曾在该浏览器上访问过CSRF站点,且cookies尚未过期。  
2.目标被引诱在该浏览器上访问了攻击者放置恶意代码的域名或网站。  
在 .env里面设置路径  
# swagger配置# 表示开启每次自动生成文档 和使用的swagger版本是3.0L5_SWAGGER_GENERATE_ALWAYS=falseSWAGGER_VERSION=3.0#L5_SWAGGER_CONST_HOST=oys68.cn
  
接口列表展开 
vendor/swagger-api/swagger-ui/dist/swagger-ui-bundle.js 中找到 docExpansion:“list”  
把list改成none即可全局默认不展开接口列表。  
docExpansion=none为不展开。  docExpansion=list为展开  docExpansion=full为全部展开,包括接口的详细信息 
                
                
                
        
        
    
 
 |