龙行博客

走路看风景,经历看人生,岁月留痕迹,人生留轨迹,17的历史,18的豪情,时间的匆忙,人生的风景,放开心胸往前走,成功再远行,放开理想往前走,梦想再行动。
现在位置:首页 > 编程语言 > PHP > thinkphp5 RESTful API使用示例demo

thinkphp5 RESTful API使用示例demo

龙行    PHP    2019-6-23    213    0评论    百度未收录

下面是一个使用RESTful API设计理论实现的api基于TP5,直接上demo

先来看看目录结构

QQ截图20190623235113.png

按着上面先创建文件

来看看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

QQ截图20190623235748.png

没开伪静态所以index.php就别管了 :version是版本号


可以看看RESTful API   详细介绍


下面的这些资源是偶然间发现做个笔记,反正我应该不会看的

视频学习地址:

http://study.163.com/course/courseMain.htm?courseId=1004171002

源码和文档(如果满意,欢迎 star):

https://github.com/RiversCoder/tp5-api

百度云盘链接: https://pan.baidu.com/s/1Fsa9tGvXLstRL1fwkDByHg 提取码: hy4t 

看云文档:

https://www.kancloud.cn/momingsixiali/thinkphp-resturl-api#/catalog


评论一下 分享本文 赞助站长

赞助站长X

扫码赞助站长
联系站长
龙行博客
  • 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《龙行博客》。
  • 本文网址:https://www.liaotaoo.cn/262.html
  • 上篇文章:golang判断是移动端还是PC端
  • 下篇文章:深入理解RESTful API
  • api
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论
快捷导航
联系博主
在线壁纸
给我留言
光羽影视
音乐欣赏
返回顶部