webman安装apiDoc插件之后,出现500错误的解决方法

安装插件

按照apidoc官方教程
在webman根目录下,使用composer命令安装apidoc

安装前端页面

下载并解压前端页面文件,将apidoc文件夹上传到webman/public目录下

安装完成后,文档中有个配置异常响应的教程。
这一步不用操作。

添加域名解析

以腾讯云为例。
进入域名控制台——域名列表——我的解析——添加记录

添加一个二级域名,用于访问api文档

添加Nginx代理

按照webman教程的内容,添加Nginx配置。

配置好server_name和root的值以后,重载Nginx配置。
其中,root路径要指向public目录在服务器里的完整路径。

添加站点

宝塔面板中,不需要添加站点了。
只需要配置好Nginx代理,就可以访问指定的域名。

访问

打开浏览器访问
http://域名/apidoc/index.html

出现接口文档页面,表示安装成功。

错误提示

不出意外的话,访问后,页面会迅速从首页跳转到500错误

file

提示:Class app\controller\IndexController does not exist

指定的类不存在。怎么解决呢?

解决

结合apidoc作者的提供的Demo,对插件的配置文件webman/config/plugin/hg/apidoc/app.php做如下修改,即可正常访问首页。

'apps'           => [
            [
                'title' => 'Demo',
                'path' => 'app\demo\controller',
                'key' => 'demo',
                'groups' => [
                    ['title' => '基础示例', 'name' => 'base'],
                    ['title' => '接口示例', 'name' => 'apiDemo'],
                    ['title' => '多级分组', 'name' => 'subMenu',
                        'children' => [
                            ['title' => '分组1', 'name' => 'sub1',],
                            ['title' => '分组2', 'name' => 'sub2'],
                        ]
                    ],
                ],
            ],
        ],

第一个api接口文档

官方提供的例子,是php8的。
对接到php的webman里,访问后会疯狂的报错。

所以要将例子改成php7风格的。

新建文件:
webman/app/demo/controller/Base.php

<?php
namespace app\demo\controller;

use support\Request;
use hg\apidoc\annotation as Apidoc;

class Base
{

    /**
     * @Apidoc\Title("基础的接口演示")
     * @Apidoc\Tag("基础,示例")
     * @Apidoc\Method ("GET")
     * @Apidoc\Url ("/demo/index")
     * @Apidoc\Query("name", type="string",require=true, desc="姓名",mock="@name")
     * @Apidoc\Query("phone", type="string",require=true, desc="手机号",mock="@phone")
     * @Apidoc\Returned("id", type="int", desc="Id")
     */
    public function index(Request $request){
        return json(['code' => 0, 'msg' => 'ok']);
    }

}

接下来就可以访问部署好的接口文档了

file

第一个markdown文档

如何配置才能访问markdown文档,官方教程写的有点乱,甚至有错误。
自己琢磨成功了。

先下载webman的Demo

将其中的docs目录,上传到webman项目的根目录。

然后修改apidoc插件的配置

// webman/config/plugin/hg/apidoc/app.php

// markdown 文档
'docs' => [
    ['title' => '介绍', 'path' => 'docs/apiDesc'],
    ['title' => 'md语法示例', 'path' => 'docs/Use'],
    ['title' => 'md Test', 'path' => 'docs/mdApi'],
    [
        'title' => 'HTTP响应编码',
        'children' => [
            ['title' => 'status错误码说明', 'path' => 'docs/HttpStatus'],
            ['title' => 'code错误码说明', 'path' => 'docs/HttpCode_${app[0].folder}_${app[1].folder}'],
        ],
    ]
],

访问markdown文档:

file

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
EasyClick学习交流①群:737066890
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » webman安装apiDoc插件之后,出现500错误的解决方法

企业级大数据智能营销管理系统

了解详情