美文网首页
swagger在thinkphp3.2中的应用

swagger在thinkphp3.2中的应用

作者: 小建哥哥 | 来源:发表于2017-09-28 10:02 被阅读0次

在网上找这个swagger应用的时候,全部几乎都是一个样,就是不行,都是说这样那样的,但是用在你身上就是不行,就是不行

首先不管那么多,直接拿来用,后面再慢慢研究吧

swagger有个ui,你下载吧,里面有个dist文件(不想下载email我,我发给你),直接拷贝放到项目根目录下,别想着放到什么什么好看的文件整理,别想,就放在根目录好了。

然后下载swagger-php,有些人就是分不清,ui还要什么php,什么鬼,好吧,多说一句,swagger UI是界面的展示,而swagger-php是生成接口文档的驱动,这么理解没问题吧,或者简单点,ui就是人家写好的html,swagger-php就是你的php语言。

好了不多说了,我的swagger-php放在根目录的一个vender目录下的,注意这句话,不然又的说没有用了(要文件找我)

文件都弄好了吧,在入口文件index.php加上一句话,就是引入swagger-php库文件,在引入ThinkPHP入口文件之前就可以了

//引入swagger-php导入文件
require './vendor/swagger-php/vendor1/autoload.php';

还没好哦,不是有个dist文件么,里面有个index.html,打开它(编辑器),
找到他

url = decodeURIComponent(url[1]);

在她else的分支上改成这个路径地址别说不会,就是项目直接指到dist的swagger.json就可以了,像这样

url = "http://127.0.0.1/xiangmuming/dist/swagger.json";

基本的就好了,然后到时候你访问http://127.0.0.1/xiangmuming/dist/idnex.html 就是swagger UI接口界面
但是如何生成接口呢,其实就是生成swagger.json,最老土的,也不老土,你觉得方便就好,你可以直接在swagger.json中直接写json文件都可以,如果不愿意的话就继续跟着走,如果你想手动写,就可以不用继续往下看了,已经可以了,okay,完美啦

不想写json的继续,但是也好烦的,不过看的会舒服一点或者说好管理一点

一般人写代码都会判断session存不存在啊,不存在就跳到登录界面啊 什么的 ,
所以你直接写到其他不跟session挂钩的地方吧,我是卸载LoginController下的,加如下代码:

public function createApi(){
        //定义根目录
        $path = __DIR__; //你想要哪个文件夹下面的注释生成对应的API文档
        //echo $path;
        $swagger = \Swagger\scan($path);
        header('Content-Type: application/json');
        //echo $swagger;
        $swagger = (string) $swagger;
        $swagger_json_path = "dist/swagger.json";
        $res = file_put_contents($swagger_json_path,$swagger);
        if ($res == true) {
           //$this->redirect('http://'.$_SERVER['HTTP_HOST'].'/dist/index');
        }
    }

然后访问http://127.0.0.1/xiangmuming/Login/createApi
你的不行,我重写了index.php隐藏的,不行自己好好看看,里面代码自己一个个dump出来自己分析

然后提供一个接口怎么编写示例

/**
      * @SWG\Post(path="/Login/getPhoneVerifyCode",
     *   tags={"1、【未登录】登录注册模块"},
     *   summary=" 获取手机验证码",
     *   description="获取验证码成功后返回data.wtime等待时间
     *                  状态码为200=》
     *                              data.wtime:等待时间
     *                  手机接收不到,不需要300状态码",
     *              
     *   operationId="getPhoneVerifyCode",
     *   produces={"application/json"},
     *   @SWG\Parameter(name="uphone",type="string",require=true,in="formData",description="手机号码"),
     * )
     */

好了,自己研究去,文件的什么直接可以找我,但是里面其他的自己研究,搞定收工!

相关文章

  • swagger在thinkphp3.2中的应用

    在网上找这个swagger应用的时候,全部几乎都是一个样,就是不行,都是说这样那样的,但是用在你身上就是不行,就是...

  • 使用swagger2生成在线接口文档

    swagger生态图 swagger UI 使用方法 在pom.xml中引入依赖 在应用主类中增加@EnableS...

  • swagger学习总结

    初衷 了解Swagger 在web项目中可以使用swagger用来管理接口文档 应用到现有的框架中 它是什么 官网...

  • Swagger2 -- API文档

    官网:https://swagger.io/ Swagger2应用组成 1、配置Maven依赖 2、Swagger...

  • swagger API DOC

    swagger引入 在pom或者上级pom中引入相关包 配置swagger服务器 Controller中配置

  • swagger2使用笔记

    1.引入swagger依赖 2.编写swagger配置文件 3.api注解说明 在Java类中添加Swagger的...

  • Java-Swagger

    1、swagger学习 Swagger定义Swagger同类工具Swagger和web项目结合Swagger在公司...

  • Swagger

    1、swagger学习 Swagger定义Swagger同类工具Swagger和web项目结合Swagger在公司...

  • Grape 创建API

    基本步骤: 1.安装所需gem 在 Gemfile 中添加grape-swagger和grape-swagger-...

  • swagger页面刷新报错:For input string:

    此问题是由 swagger2 中的 swagger-annotations 和 swagger-models 依赖...

网友评论

      本文标题:swagger在thinkphp3.2中的应用

      本文链接:https://www.haomeiwen.com/subject/ttlmextx.html