IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> laravel整合Swagger -> 正文阅读

[PHP知识库]laravel整合Swagger

一,安装

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为全部展开,包括接口的详细信息

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-11-11 12:31:11  更:2021-11-11 12:31:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:35:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码