thinkphp5 RESTful API使用示例demo
龙行 PHP 2019-6-23 1346 0评论
下面是一个使用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 详细介绍
下面的这些资源是偶然间发现做个笔记,反正我应该不会看的
视频学习地址:
源码和文档(如果满意,欢迎 star):
百度云盘链接: https://pan.baidu.com/s/1Fsa9tGvXLstRL1fwkDByHg 提取码: hy4t
看云文档:
评论一下
赞助站长
赞助站长X
版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《龙行博客》。
本文网址:https://www.liaotaoo.cn/262.html