| |
|
开发:
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 使用 |
swagger太辣鸡了?本教程是基于Laravel 生成swagger 为例子,其实这个东西和语言或者和框架基本没啥区别,因为都是用的公用的json ,通过程序扫描swagger预先规定的“语言”,生成结构存入json中,通过 swagger ui 展现出来(或者自己开发)。 对于php开发人员来说,有大部分同学很不喜欢swagger。 因为这个看上去写起来好麻烦啊,一想到分分钟用php写完的代码,写swagger要写10分钟,心里就抵触这个东西。 身边有Java开发的同学就知道他们很大一部分都用swagger,因为java要维护数据结构,而且swagger在java整合得更灵活。 这个时候java如果看到有php 说swagger反人类的东西,太麻烦了,上古时代的产物。那身边的java朋友会心里窃喜,这么好用的东西都不用,还说php是世界上最好的语言。 好了,上面只是本人的一些杂谈,主要是吸引一下各位(还没用过swagger的同学,可以了解一下哦) 我为啥用swagger最近在写自动生成代码,其实现在Laravel 很多自动生成CURD的。比如像 那要你说 框架已经做得很好了,但是要结合具体的业务,不同的行业,不同的程序员,不同的场景,一套代码怎么可能满足所有人。 因为我经常写一些小项目,和接一些项目,所以我就开始写适用于个人,或者公司的代码生成,模型和控制器生成不用说了,各位肯定也是自动化生成的,并生成注释。 但是模型关系,和枚举还是要写的,所以就想了想办法,统一做一个配置像这样子:
先运行起来了,效果还行,分分钟生成代码,并有了关联关系的api接口。当然还可以加很多很多自定义的参数。 我这样生成了代码之后,我还要写文档给前端。于是有以下几个想法:
完蛋,拍大腿,我用了swagger之后,为啥不早点用这个工具呢,这正是我所需要的东西,刚才我说了我写的自动化 有关联关系,和枚举自动识别并创建(这方面以后再分享)
但是swagger手写的话确实有点累,自动生成的,一点也不累,哈哈哈哈 看社区里有朋友写详细的Swagger ,但好像是v2版本的,所以还是写一篇博文分享给同仁们,结合官方的例子,把我需要的都整明白了。 下班了下班了,叨了这么多,这么迟回去又要被挨骂了。 L5-Swaggerhttps://github.com/DarkaOnLine/L5-Swagger 安装:
使用:
@OA\Info 为必须 🌰例子
get 请求如果要匹配path中的数值则 in path 查询 in query
传入为枚举
Body 为Json 方式提交
使用结构Schema作为请求参数
Schema的使用
枚举一个枚举单独创建一个Schema
映射到模型中的具体字段
这样前端开发者就可以 关联模型和枚举差不多,通过一个Property关联模型
关联模型和枚举,可以自动生成请求的参数和,返回的结构 返回为模型结构
就比如那天前端小妹跟你说,哥哥,支付状态3代表什么,可能你很快的说出了是某某状态,但是问你11是啥状态,人都要沙雕了。 各位,这些都可以自动化编程,自动生成的,工作效率不要太爽 多个合并Schema
验证提供outh2 和apikey 两种方式,在存放全局配置中写入(也可以任意目录中)
在接口中添加
这时,swagger Ui 会出现一个锁一样的东西 可以输入自己的token,请求的时候会带上token
更多使用方法可以查看官网例子: https://github.com/zircote/swagger-php/tree/master/Examples/petstore-3.0 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/15 10:14:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |