最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 开发技术 > PHP语言 >
laravel中的swagger用法是什么?一文带你看懂
PHP中文网发表于 2021-09-07 18:11 次浏览

    laravel中的swagger用法是什么?swagger是非常好用的一个API文档工具,大大地减轻了前端和后端的沟通成本。这篇文章小编就主要给大家介绍swagger用法,要注意的的是,本篇文章的laravel版本为 5.6.28。

    在laravel 5.6 中使用swagger

    安装

composer require darkaonline/l5-swagger


Using version ^5.6 for darkaonline/l5-swagger
...
  - Installing swagger-api/swagger-ui (v3.17.4)
  - Installing doctrine/annotations (v1.6.0)
  - Installing zircote/swagger-php (2.0.13)
  - Installing darkaonline/l5-swagger (5.6.5)
...

    运行

php artisan vendor:publish

    选择L5SwaggerL5SwaggerServiceProvider这项    

    这时会添加两个文件

  • /config/l5-swagger.php
  • /resources/views/vendor/l5-swagger/index.blade.php

    配置

    在app/Http/Controllers/Controller.php文件中class前添加注释

<?php

namespace AppHttpControllers;

use IlluminateFoundationBusDispatchesJobs;
use IlluminateRoutingController as BaseController;
use IlluminateFoundationValidationValidatesRequests;
use IlluminateFoundationAuthAccessAuthorizesRequests;
/**
 * @SWGSwagger(
 *   basePath="/calculate-rates",
 *   @SWGInfo(
 *     title="项目名称 API",
 *     version="1.0.0"
 *   )
 * )
 */
class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}

    运行命令

php artisan l5-swagger:generate

    打开你的项目网址http://localhost/api/documentation,你会看到swagger已经运行成功了,但是没有显示任何API文档。

    编写文档

    拿http://localhost/home 示例:        

    在HomeControllerindex方法上面编写文档

/**
     * @SWGGet(
     *   path="/home",
     *   summary="用户资料",
     *   @SWGResponse(response=200, description="请求成功"),
     *   @SWGResponse(response=401, description="用户验证失败"),
     *   @SWGResponse(response=500, description="服务器错误")
     * )
     *
     */
    public function index()
    {
        return view('home');
    }

    再次运行命令

php artisan l5-swagger:generate

    回到http://localhost/api/documentation中刷新,文档就已经出来了,应该是长这个样子

    关于laravel中swagger的用法就介绍到这了,上述实例有一定的参考价值,感兴趣的朋友可以参考,想要了解更多laravel中swagger的内容,请关注群英网络其它相关文章。

标签:laravel swag
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐