我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PHP如何使用Swagger生成好看的API文档

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PHP如何使用Swagger生成好看的API文档

本文小编为大家详细介绍“PHP如何使用Swagger生成好看的API文档”,内容详细,步骤清晰,细节处理妥当,希望这篇“PHP如何使用Swagger生成好看的API文档”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

一、安装swagger-php

composer require zircote/swagger-php

swagger-php提供了命令行工具,所以可以全局安装,然后把工具的路径加到PATH里去。

composer global require zircote/swagger-php

然后把zircote/swagger-php/bin 目录加到PATH里。这个东西本人用不到,就不研究了。

二、设置一个输出api文档数据的接口

a)、生成一个控制器: SwaggerController

b)、添加一个方法: getJSON()

    public function getJSON()    {        $swagger = \OpenApi\Generator::scan([app_path('Http/Controllers/')]);        return response()->json($swagger, 200);    }

有的文章里写 \Swagger\scan(),但我这里报错,说找不到这个类。查了官方文档,要用 \OpenApi\Generator::scan()。有可能是新版本做了修改。

c)、设置路由

api.php 或者 web.php都行,路径不同而已。本人选择api.php。所以访问路径要加个前缀:/api。

Route::group(['prefix' => 'swagger'], function () {    Route::get('json', [\App\Http\Controllers\SwaggerController::class, 'getJSON']);});

d)、测试访问

访问 http://localhost:8000/api/swagger/json 如果看到页面正常输出json,说明配置成功了。不然就按错误提示一项项去修改吧。

三、使用

GET方法

    

这里面:

in 表示该参数出现在哪里。 query的话就是用&拼在url后面; path 类似于 /api/data/search/{param} ; header就是包含在 request header里;cookie 自然是放在cookie里。

这个版本里formData, body这些都没有了。

required 看名字就知道 true是必填项,false是选填项。

POST方法

    

因为本人的前端代码post都是表单提交,所以这里的post方法要用@OA\RequestBody。

@OA\Parameter是参数,是可以放到url上,但是post的表单提交,数据是不出现在url上的。

@OA\MediaType 这个: x-www-form-urlencoded 表单提交;application/json 提交json格式的数据;multipart/form-data 文件上传;

     *             @OA\Schema(     *                 ref="#/components/schemas/DataModel",     *             ),

这个是关联到一个已经定义好的schema上,省得使用相同数据的每个接口注释里都写一遍。

这里也可以单独写:

 * @OA\Schema( *   required={"name", "code"}, *   @OA\Property(property="name", type="string", title="姓名", description="这是姓名"), *   @OA\Property(property="code", type="string", title="代码", description="这是代码"), *   @OA\Property(property="phone", type="string", title="电话", description="这是电话"), * ),

上面这样,有多少个参数就写多少个@OA\Property。这里的required是个数组,写在里面的都是必填项。

四、显示swagger ui

解压后,把目录里的dist目录,复制到laravel的public目录下面,改名为swagger-ui。文件名随便取,不冲突就行。

找开这个swagger-ui目录下的swagger-initializer.js,内容大概如下:

window.onload = function() {  //<editor-fold desc="Changeable Configuration Block">  // the following lines will be replaced by docker/configurator, when it runs in a docker-container  window.ui = SwaggerUIBundle({    url: "/api/swagger/json",    dom_id: '#swagger-ui',    deepLinking: true,    presets: [      SwaggerUIBundle.presets.apis,      SwaggerUIStandalonePreset    ],    plugins: [      SwaggerUIBundle.plugins.DownloadUrl    ],    layout: "StandaloneLayout"  });  //</editor-fold>};

主要是改 url这项。改成前面设的路由地址。这里是 "/api/swagger/json"。完成后访问 http://localhost:8000/swagger-ui/ 就能看到swagger形成的api文档了。

读到这里,这篇“PHP如何使用Swagger生成好看的API文档”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PHP如何使用Swagger生成好看的API文档

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

PHP如何使用Swagger生成好看的API文档

本文小编为大家详细介绍“PHP如何使用Swagger生成好看的API文档”,内容详细,步骤清晰,细节处理妥当,希望这篇“PHP如何使用Swagger生成好看的API文档”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
2023-07-05

PHP使用Swagger生成好看的API文档

api文档不能根据代码的变化发生实时动态的改变,这样后端修改了接口,前端不能及时获取最新的接口,导致调用出错,需要手动维护api文档,加大了开发的工作量和困难,而swagger的出现就是为了解决这一系列的问题
2023-02-15

SpringBoot使用swagger生成api接口文档的方法详解

在之前的文章中,使用mybatis-plus生成了对应的包,在此基础上,我们针对项目的api接口,添加swagger配置和注解,生成swagger接口文档,需要的可以了解一下
2022-11-13

如何使用 Golang 构建 RESTful API 并使用 Swagger 文档?

使用 go 构建 restful api 并在 swagger 文档中提供可读端点描述。创建 go 模块并使用 gin 框架。添加 swagger 文档以生成 api 文档。定义端点,例如“创建用户”,并相应编写 swagger 定义。使用
如何使用 Golang 构建 RESTful API 并使用 Swagger 文档?
2024-05-15

在Web API程序中如何使用Swagger做接口文档

这篇文章主要介绍了在Web API程序中如何使用Swagger做接口文档,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。创建Web API程序在VS2019中创建一个ASP.N
2023-06-03

如何使用eclipse生成java文档

1、Project下的Generate Javadoc选项2、Javadoc command:设置javadoc生成程序,一般来说是JDK目录下bin目录的javadoc.exe。然后选择要生成文档的java项目,然后选择文档输出目录3、下一步4、这一步设置的
如何使用eclipse生成java文档
2018-07-02

如何使用工具生成 Golang 函数文档?

命令 godoc -markdown=index.md 可生成 go 函数文档,通过打开生成的文件 index.md 查看文档。具体步骤为:1. 保存 go 文件;2. 运行命令 godoc -markdown=index.md。如何使用工
如何使用工具生成 Golang 函数文档?
2024-05-06

如何使用 GoDoc 工具生成 Golang 函数文档?

godoc 工具可以通过以下步骤生成 golang 函数文档:为函数编写包含函数签名和描述的注释。运行 godoc 命令(godoc -http=:6060)生成文档。在浏览器中访问生成的文档(http://localhost:6060/p
如何使用 GoDoc 工具生成 Golang 函数文档?
2024-04-18

如何使用LiveDocx和Zend Framework生成基于模板的文档

小编给大家分享一下如何使用LiveDocx和Zend Framework生成基于模板的文档,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用PHP生成打印良好的格
2023-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录