下面是一个使用RESTful API设计理论实现的api基于TP5,直接上demo
先来看看目录结构
按着上面先创建文件
来看看News.php里面得到内容
- <?php
- namespace app\api\controller\v1;
- use think\Controller;
- use app\api\common\model\VendorNews;
- /**
- * Created by PhpStorm.
- * User: lt175
- * Date: 2019/6/23
- * Time: 21:31
- */
- class News extends Controller
- {
- public function index()
- {
- $data = [
- 'username' => '张三',
- 'age' => 18
- ];
- if ($data) {
- $code = 200;
- } else {
- $code = 404;
- }
- $data = [
- 'code' => $code,
- 'data' => $data
- ];
- return json($data);
- }
- //获取详情 http://api.test.com/index.php/v1/News/3
- public function view($id)
- {
- if ($id === 1) {
- $data[] = ['a' => 1];
- }
- $data[] = [
- 'detail' => '这个是view方法',
- ];
- if ($data) {
- $code = 200;
- } else {
- $code = 404;
- }
- $data = [
- 'code' => $code,
- 'data' => $data
- ];
- return json($data);
- }
- //创建 http://api.test.com/index.php/v1/News
- public function create()
- {
- $postData = $this->request->param();
- $data = ['data' => 123];// 查询数据
- if ($data) {
- $code = '123' . 'news/post';
- } else {
- $code = 404;
- }
- $data = [
- 'code' => $code,
- //'data' => $data
- ];
- return json($data);
- }
- //更新 http://api.test.com/index.php/v1/News/25
- public function update($id)
- {
- if (!$id) {
- json(["code" => 5001, "message" => "没有获取到id"]);
- }
- $data = 1;// 查询数据
- if ($data) {
- $code = 201;
- } else {
- $code = 404;
- }
- $data = [
- 'code' => $code,
- //'data' => $data
- ];
- return json($id);
- }
- //删除 http://api.test.com/index.php/v1/News/25
- public function delete($id)
- {
- if (!$id) {
- json(["code" => 5001, "message" => "没有获取到id"]);
- }
- $data = 1;// 查询数据
- if ($data) {
- $code = 204;
- } else {
- $code = 404;
- }
- $data = [
- 'code' => $code,
- //'data' => $data
- ];
- return json($data);
- }
- }
再来看看application/route.php 路由
- <?php
- use think\Route;
- Route::get('think', function () {
- return 'hello,ThinkPHP5!';
- });
- Route::get('hello/:name', function ($name) {
- return $name ;
- });
- Route::get('hello/:name', 'index/hello');
- //获取某一个活动
- //获取列表
- Route::get(':version/News', 'api/:version.News/index');
- //创建数据
- Route::post(':version/News', 'api/:version.News/create');
- //更新数据
- Route::put(':version/News/:id', 'api/:version.News/update');//全部更新
- Route::PATCH(':version/News/:id', 'api/:version.News/update');//更新个别字段
- //删除
- Route::delete(':version/News/:id', 'api/:version.News/delete');
- //Route::options(':version/News', 'api/:version.News');
然后使用postman测试get,post,delete
没开伪静态所以index.php就别管了 :version是版本号
可以看看RESTful API 详细介绍
下面的这些资源是偶然间发现做个笔记,反正我应该不会看的
视频学习地址:
http://study.163.com/course/courseMain.htm?courseId=1004171002
百度云盘链接: https://pan.baidu.com/s/1Fsa9tGvXLstRL1fwkDByHg 提取码: hy4t
看云文档:
https://www.kancloud.cn/momingsixiali/thinkphp-resturl-api#/catalog
上一篇:
php根据访问者ip确定所属地区信息
友情提示:垃圾评论一律封号...