• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

thinkphp5-restfulapi: thinkphp5 restfulAPI 基于tp5的restful风格接口,带简单的oa ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

thinkphp5-restfulapi

开源软件地址:

https://gitee.com/leslin/thinkphp5-restfulapi

开源软件介绍:

ThinkPHP5 restfulapi

Github最新地址:https://github.com/Leslin/thinkphp5-restfulapi

基于ThinkPHP5 基础上开发的一个简单的restful api ,带权限验证等

ThinkPHP5的运行环境要求PHP5.4以上。

详细开发文档参考 ThinkPHP5完全开发手册

目录结构

初始的目录结构如下:

www  WEB部署目录(或者子目录)├─application           应用目录│  ├─common             公共模块目录(可以更改)│  ├─api                接口目录│  │  ├─controller      控制器目录│  │  │     ├─v1        版本1目录|  |  |     ├─v2        版本2目录│  │  ├─Api.php         授权基类│  │  ├─Oauth.php       授权验证│  │  ├─Send.php        返回格式│  │  ├─model           模型目录|  |      ├─model     │  │  ├─view            视图目录│  │  └─ ...            更多类库目录│  ││  ├─command.php        命令行工具配置文件│  ├─common.php         公共函数文件│  ├─config.php         公共配置文件│  ├─route.php          路由配置文件│  ├─tags.php           应用行为扩展定义文件│  └─database.php       数据库配置文件├─public                WEB目录(对外访问目录)│  ├─index.php          入口文件│  ├─router.php         快速测试文件│  └─.htaccess          用于apache的重写├─thinkphp              框架系统目录│  ├─lang               语言文件目录│  ├─library            框架类库目录│  │  ├─think           Think类库包目录│  │  └─traits          系统Trait目录│  ││  ├─tpl                系统模板目录│  ├─base.php           基础定义文件│  ├─console.php        控制台入口文件│  ├─convention.php     框架惯例配置文件│  ├─helper.php         助手函数文件│  ├─phpunit.xml        phpunit配置文件│  └─start.php          框架入口文件├─extend                扩展类库目录├─runtime               应用的运行时目录(可写,可定制)├─vendor                第三方类库目录(Composer依赖库)├─build.php             自动生成定义文件(参考)├─composer.json         composer 定义文件├─LICENSE.txt           授权说明文件├─README.md             README 文件├─think                 命令行入口文件

流程

  • router.php中定义了restful资源路由,具体请查看代码。
  • 访问相应的url,例如:http://localhost/tp5test/public/index.php/v1/user
  • user控制器是集成了Api类,会在初始化检测user控制器定义的访问限制 $restMethodList = 'get|post|put';
  • 在Api类中,会有方法checkAuth()检测用户是否有权限调用接口
  • checkAuth方法会调用Oauth类中的鉴权,$baseAuth = Factory::getInstance(\app\api\controller\OAuth::class);
  • 根据用户端传递过来的app_key获取缓存中的access_token,在进行对比,如果true,则可以调用user中的各种方法,否则返回不能调用原因
  • Oauth类中的具体请看代码
  • 生成access_token,缓存access_token等相关逻辑在v1/Token.php代码中,使用的是本地缓存,如果需要使用数据库或者redis请查询相关注释说明
  • 写的比较乱,直接看片段截图把。。。。

相关流程截图

  • 用户类

输入图片说明

  • Api类

输入图片说明输入图片说明输入图片说明

  • Oauth类

输入图片说明输入图片说明

  • v1/Token类

输入图片说明输入图片说明

  • 测试

输入图片说明输入图片说明

快速创建一个restful控制器

cd 到项目根目录

命令行 :php think make:controller api/controller/v1/Goods

修改路由,注册一个资源路由:在route.php加入下面一行代码:Route::resource(':version/goods','api/:version.Goods');

其他说明

交流QQ群号:645233951

版权信息

遵循Apache2开源协议发布,并提供免费使用。

更多细节参阅 LICENSE.txt


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap