因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现”API First”的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论
restful api 格式如下:
GET /zoos:列出所有动物园
POST /zoos:新建一个动物园
GET /zoos/ID:获取某个指定动物园的信息
PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
DELETE /zoos/ID:删除某个动物园
GET /zoos/ID/animals:列出某个指定动物园的所有动物
DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物
php示例如下:
路由文件:
//获取列表
$router->get('activity', 'ActivityController@index');
//获取某一个活动
$router->get('activity/{id}', 'ActivityController@get');
//创建一个活动
$router->post('activity', 'ActivityController@create');
//更新一个活动
$router->put('activity/{id}', 'ActivityController@update');
//删除一个活动
$router->delete('activity/{id}', 'ActivityController@delete');
controller文件如下:
//使用restfulapi实现activity的curd
class ActivityController
{
//获取列表
public function index()
{
return Resp::outs(Activity::all());
}
//获取某一个活动
public function get($id)
{
return Resp::outs(Activity::where('id', $id)->first());
}
//创建一个活动
public function create(Request $request)
{
$data = $request->all();
return Resp::outs(Activity::create($data));
}
//更新一个活动
public function update(Request $request, $id)
{
$data = $request->all();
return Resp::outs(Activity::where('id', $id)->update($data));
}
//删除一个活动
public function delete($id)
{
return Resp::outs(Activity::where('id', $id)->delete());
}
}
可以用curl进行测试
curl 'http://www.loanapi.com/activity'
curl 'http://www.loanapi.com/activity/26'
curl -X POST 'http://www.loanapi.com/activity' -d 'title=xly'
curl -X PUT 'http://www.loanapi.com/activity/26' -d 'title=xly'
curl -X DELETE 'http://www.loanapi.com/activity/26'