yii2之写一个最简单的restful 例子

                                                        yii2之写一个最简单的restful 例子

利用basic包,创建一个restful 例子

       (1)首先将下载好的basic包放到服务器的根目录下,添加cookieValidationKey后,完成基本的配置后。按照上面的步骤配置yii2中的RESTful。

       (2)在数据库中创建一个数据库 ceshi,在ceshi数据库中创建一个user表,sql语句如下:

CREATE TABLE user(
 id int(10) primary key not null auto_increment ,
 username varchar(20) not null,
 password  varchar(20) not null,
 tele varchar(20)
          )

      (3)使用gii创建ID为v1的模块module ,之所这样做是为了将restful与负责网站部分业务的控制器分割开,避免造成不必要的误会。开启服务器后,直接在地址栏中输入 localhost/basic/web/gii  即跳转到gii页面 点击 Module Generator的start按钮开始创建module

 需要输入两个参数Module Class 表示创建module的路径  Module ID 表示module的id
Module Class:app\modules\v1\Module
Module ID: v1


        点击generate按钮 再看basic目录可以看新增加了modules文件夹,以及其下面的子文件controller view等  注意我们还要将 新跳出的页面的配置代码添加到 /config/web.php的config数组中


'modules' => [
    'v1' => [
       'class' => 'app\modules\v1\Module',
    ],
],
可以访问http://localhost/basic/web/v1/default 检查是否配置成功。

(4)创建RESTful API 控制器 
   通过(3)步中的操作  我们获得了 modules/v1/controllers/DefaultController 控制器 我们可以将它设置为API 也可以在modules/v1/controllers下继续创建控制器来作为api,本例中直接使用DefaultController 来创建RESTful api
 对自动生成的DefaultController进行一些修改

use yii\rest\ActiveController;
class DefaultController extends ActiveController
 {
   public $modelClass = 'app\modules\v1\models\User';//设置该控制可以直接操作的model对应的数据表,在此处就是直接操作user表
 }
(5)modules/v1/下创建对应的model

       同样的返回gii首页,或者通过左边的导航栏跳转到model自动生成页面
  输入相应的参数
  Table Name: user
  Model Class:user
  Namespace:app\modules\v1\models //指定是modules/v1 下的models 不要和app/models搞混了。
  点击预览生成就行了。
  同样的我们可以看到目录又多了一个models了。



(6)在火狐中使用HttpRequester 调试RESTful访问
一般网上都是推荐,使用chrome的postman 但是现在谷歌在中国已经停运了,所以postman也可能不使用了,要是不能使用postman的话,在火狐上面用HttpRequester也是不错的选择。打开HttpRequester 在地址栏中输入 localhost/basic/web/v1/defaults  可以在旁边的返回框中看到 返回 200 ok  但是就是没有内容,这是为什么呢?  这是因为,我们还有向数据库中user表中插入数据啊! 我们可以通过sql语句插入两条数据

INSERT INTO `user`(`id`, `username`, `password`, `tele`) VALUES ('1','张三','12345','7788');
INSERT INTO `user`(`id`, `username`, `password`, `tele`) VALUES ('2','李四','54321','1010');
        再次输入,可以看到有xml格式的数据,我们插入的所有信息都出来了。结果如我所讲的话,恭喜你yii2中最基础的RESTful 你已经掌握了。还有其他几种访问方式

1.插入数据POST
地址栏输入localhost/basic/web/v1/defaults   选择POST访问方式   content-type选择 application/x-www-form-urlencoded                 content中输入 username=王五&password=11111&tele=0000 表示在user中创建 username=王五 的第三条数据。
2.更新数据PUT
           地址栏输入localhost/basic/web/v1/defaults/1   选择PUT或者PATCH访问方式   content-type选择 application/x-www-form-urlencoded   content中输入 username=张小花&password=8888&tele=6666 表示在user中修改id=1的数据 。
3.删除数据
           地址栏输入localhost/basic/web/v1/defaults/1   选择DELETE访问方式 删除user表中id=1的数据。 
4.查询具体id的数据
         地址栏输入localhost/basic/web/v1/defaults/1   选择GET,POST访问方式  获得的id=1的数据

HttpRequester:



patch访问:



好了yii2中一个最基本的restful例子就说到这了,关于restful更加复杂详细的知识将在下一篇文章介绍。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值