thinkPHP5使用restful api (一)

THINKPHP5,当初这个框架发布的时候就定义为为API而生,下面我们来看看怎么用TP5来实现Restful Api的查询(get)、增加(post)、修改(put)、删除(delete)等server接口层吧。

REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。REST提出了一些设计概念和准则:

1、网络上的所有事物都被抽象为资源(resource);
2、每个资源对应一个唯一的资源标识(resource identifier);
3、通过通用的连接器接口(generic connector interface)对资源进行操作;
4、对资源的各种操作不会改变资源标识;
5、所有的操作都是无状态的(stateless)。

设置后会自动注册7个路由规则,如下(官方文档):

标识请求类型生成路由规则对应操作方法(默认)
indexGETblogindex
createGETblog/createcreate
savePOSTblogsave
readGETblog/:idread
editGETblog/:id/editedit
updatePUTblog/:idupdate
deleteDELETEblog/:iddelete

 

1.新建api模块,架构如下:

 

在api/controller下新建一个配置文件 config.php,代码如下:

<?php

return [
	'default_return_type' => 'json',
];

2.在api/controller下新建一个控制器test:

<?php
namespace app\api\controller;
use think\Controller;

class Test extends controller
{    
    public function index()
    {   
        //get 
        return [
        	'helloworld',
        	'helloworld2',
        ];
    }
    修改
    public function update($id = 0){
    	// echo $id;exit;
    	halt(input('put.'));
    	//return $id;
    }

    /**
     * post 新增
     * @return mixed
     */
    public function save(){
    	$data = input('post.');
    	return $data;
}

3.定义restful风格的路由规则,application\route.php

<?php

use think\Route;
//get 
Route::get('hello', 'api/test/index');
//修改
Route::put('test/:id', 'api/test/update');
//delete
Route::delete('test/:id', 'api/test/delete');

Route::resource('test', 'api/test');
/// x.com/test  post  => api test save

4.我们用apizza或者POSTMAN工具(自己去百度下载)测试一下:

这样就可以看到结果啦.

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mrzqq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值