2022-11-15编辑。
官方已出webman版本的,可以移步官方版。
【推荐】
composer require hg/apidoc
https://docs.apidoc.icu/guide/install/other.html
【以下为之前自己编写的旧版本】
webman 版本的 api-doc
扒拉的 ThinkPHP ApiDoc ,改成了webman版本的,部分功能可能无法使用(去掉了缓存、多语言)。
ThinkPHP ApiDoc官网:
https://hg-code.gitee.io/thinkphp-apidoc/guide/
composer require xianrenqh/apidoc2-webman
文档默认地址为:
http://127.0.0.1:8787/apidoc/index.html
可以在config里面进行更改路由:
路由配置文件地址:
\config\plugin\xianrenqh\apidoc2-webman\route.php
apidoc基本配置文件:
config/plugin/xianrenqh/apidoc2-webman/apidoc.php
解决nginx反向代理后页面上的js/css文件无法加载的方法:
问题现象:
nginx配置反向代理后,网页可以正常访问,但是页面上的js、css和图片等资源都无法访问。
解决方法:
nginx配置文件中,修改为如下配置:
(宝塔的话:找到站点,设置,配置文件里修改)
location ~ \.php$ {
proxy_pass http://127.0.0.1:8787;
include naproxy.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
proxy_pass http://127.0.0.1:8787;
include naproxy.conf;
}
location ~ .*\.(js|css)?$ {
expires 12h;
proxy_pass http://127.0.0.1:8787;
include naproxy.conf;
}
需要把静态文件也添加反向代理设置。
官网教程地址:
https://hg-code.gitee.io/thinkphp-apidoc/use/
找到config/plugin/xianrenqh/apidoc2-webman/apidoc.php文件并编辑:
编辑 apps键(大概第13行-20行)
增加你需要的api的controllers控制器
例如:
'controllers' => [
'app\api\controller\UserController',
],
打开控制器:
app\api\controller\UserController
注意:在官网中引用的是:
use hg\apidoc\annotation as Apidoc;
我们不要引入上面的, 要引入下面的:
use xianrenqh\Apidoc2Webman\annotation as Apidoc;
换句话说, 官网只要是
use hg\apidoc\annotation,
我们都要替换为:
use xianrenqh\Apidoc2Webman\annotation
为控制器加上一些注释,以让文档可读性更高(当然这不是必须的)
<?php
namespace app\controller;
use xianrenqh\Apidoc2Webman\annotation as Apidoc;
/**
* 标题也可以这样直接写
* @Apidoc\Title("基础示例")
* @Apidoc\Group("base")
* @Apidoc\Sort(1)
*/
class ApiDocTest
{
//...
}
控制器中的每一个符合注释规则的方法都会被解析成一个API接口
基础注释
<?php
use xianrenqh\Apidoc2Webman\annotation as Apidoc;
/**
* @Apidoc\Title("基础示例")
*/
class ApiDocTest
{
/**
* @Apidoc\Title("基础的注释方法")
* @Apidoc\Desc("最基础的接口注释写法")
* @Apidoc\Url("/api.html")
* @Apidoc\Method("GET")
* @Apidoc\Author("HG-CODE")
* @Apidoc\Tag("测试")
* @Apidoc\Param("username", type="abc",require=true, desc="用户名")
* @Apidoc\Param("password", type="string",require=true, desc="密码")
* @Apidoc\Param("phone", type="string",require=true, desc="手机号")
* @Apidoc\Param("sex", type="int",default="1",desc="性别" )
* @Apidoc\Returned("id", type="int", desc="用户id")
*/
public function base(){
//...
}
}
其他参数请在原官网上查看, 这里就不列举了:
https://hg-code.gitee.io/thinkphp-apidoc/use/notes/api/#%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E
怎么使用呢? 文档看不懂阿 可以自带一个例子吗
好的 这边整理个简单的案例
牛逼,插件里自带一个例子呗,有例子看得更加便捷一些
好哦好哦
正好差这个,之前用tp感觉不错
扒拉过来的, 可能使用过程中会有部分bug,在官方没有出类似的官方版的插件下,或者其他人没有更好的类似的插件的话,我觉得还是可以凑合用用的,~~~ QAQ!
是的
你好 我这边把demo里的示例复制使用,然后api接口数没有增加没有显示,只能显示增加的app数,这个要怎么解决啊
优秀,继续输出攻击,hh
json返回数据里面有空格就会解析错误,已经改了
摩拜巨佬,巨佬改的哪里
parserLine里面的
优秀啊 正好需要这个 已食用o( ̄▽ ̄)ブ
赞
https://docs.apidoc.icu/guide/install/webman.html
这么6的嘛