Yii框架实现restful 接口调用,增删改查
创建模块modules;
在main.php中配置文件:(1)


(2)控制器层:
namespace frontend\modules\v1\controllers;
use frontend\modules\v1\models\Fruit;
use yii\rest\ActiveController;
class FruitController extends ActiveController{
protected $result=array(
'code'=>0,
'data'=>'',
'error'=>'',
);
public $modelClass = 'frontend\modules\v1\models\Fruit';
public function actions(){
$actions = parent::actions();
unset($actions['index'], $actions['update'], $actions['create'], $actions['delete'], $actions['view']);
return $actions;
}
//查询单条 get
public function actionView(){
$id=\Yii::$app->request->get('id');
$FruitList=Fruit::get($id);
$this->result['data']=$FruitList;
return $this->result;
}
//查询全部 get
public function actionIndex(){
$FruilList=Fruit::getAll();
$this->result['data']=$FruilList;
return $this->result;
}
//添加 post
public function actionCreate(){
$name=\Yii::$app->request->post('name');
$num=\Yii::$app->request->post('num');
if(empty($name)){
$this->result['code']=1000;
return $this->result;
}if(empty($num)){
$this->result['code']=1001;
return $this->result;
}
$fruit=array(
'name'=>$name,
'num'=>$num
);
if (false === Fruit::add($fruit)){
$this->result['code']=1002;
$this->result['error']='add is error';
}
return $this->result;
} //修改 post
public function actionUpdate(){
$id=\Yii::$app->request->post('id');
$num=\Yii::$app->request->post('num');
if($id<1){
$this->result['code']=1001;
return $this->result;
}
if($num<1){
$this->result['code']=1002;
return $this->result;
}
$params=array(
'num'=>$num,
);
if (false === Fruit::modify($id,$params)){
$this->result['code']=1012;
$this->result['error']='update is error';
}
}
//删除 get
public function actionDelete(){
$id=\Yii::$app->request->get('id');
if($id<1){
$this->result['code']=1020;
return $this->result;
}
if (false === Fruit::del($id)){
$this->result['code']=1022;
$this->result['error']='delete is error';
}
return $this->result;
}
(3)模型层
<?php
namespace frontend\modules\v1\models;
use Yii;
class Fruit extends \yii\base\Model{
private static $_tbl = 'fruit';
//查询所有
public static function getAll(){
$db = Yii::$app->db->createCommand('SELECT `id`,`name`,`num` FROM ' . self::$_tbl);
$result = $db->queryAll();
if( is_array($result) ){
return $result;
}
return array();
}
//查询单条
public static function get($id){
$db = Yii::$app->db->createCommand('SELECT `id`,`name`,`num` FROM ' . self::$_tbl . ' WHERE id=:id');
$result = $db->bindValue(':id', $id)->queryOne();
if( is_array($result) ){
return $result;
}
return array();
}
//添加
public static function add(array &$params){
$res=Yii::$app->db->createCommand()->insert(self::$_tbl,[
'name'=>$params['name'],
'num'=>$params['num'],
])->execute();
if($res){
return true;
}else{
return false;
}
} //修改
public static function modify($id,array &$params){
$res=Yii::$app->db->createCommand()->update(self::$_tbl,$params,'id='.$id)->execute();
if($res===0){
return false;
}
return true;
}
//删除
public static function del($id){
$res=Yii::$app->db->createCommand()->delete(self::$_tbl,'id='.$id)->execute();
if($res===0){
return false;
}
return true;
} } (4)模块初始化 <?php
namespace frontend\modules\v1;
class Module extends \yii\base\Module{
public $controllerNamespace = 'frontend\modules\v1\controllers';
public function init(){
parent::init();
}
}
Yii框架实现restful 接口调用,增删改查的更多相关文章
- 百度鹰眼Java接口调用增删改查实例
因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试.刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在.后又试了几种方法,均提示a ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- springmvc+spring3+hibernate4框架简单整合,简单实现增删改查功能
转自:https://blog.csdn.net/thinkingcao/article/details/52472252 C 所用到的jar包 数据库表 数据库表就不用教大家了,一张表,很简 ...
- SSH框架下的多表增删改查
下载地址:SSH框架下的多表增删改查 点击进入码云Git下载 点击进入CSDN下载 项目结构: 项目代码就不全部贴出来了,只贴下核心代码.需要项目的自己可以去下载. package com.atgui ...
- 基于SSM之Mybatis接口实现增删改查(CRUD)功能
国庆已过,要安心的学习了. SSM框架以前做过基本的了解,相比于ssh它更为优秀. 现基于JAVA应用程序用Mybatis接口简单的实现CRUD功能: 基本结构: (PS:其实这个就是用的Mapper ...
- nodejs+express+mysql实现restful风格的增删改查示例
首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...
- 进入全屏 nodejs+express+mysql实现restful风格的增删改查示例
首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...
- SSH(Struts 2.3.31 + Spring 4.1.6 + Hibernate 5.0.12 + Ajax)框架整合实现简单的增删改查(包含分页,Ajax 无刷新验证该用户是否存在)
软件152 余建强 该文将以员工.部门两表带领大家进入SSH的整合教程: 源码下载:http://download.csdn.net/detail/qq_35318576/9877235 SSH 整合 ...
- ssm框架(Spring Springmvc Mybatis框架)整合及案例增删改查
三大框架介绍 ssm框架是由Spring springmvc和Mybatis共同组成的框架.Spring和Springmvc都是spring公司开发的,因此他们之间不需要整合.也可以说是无缝整合.my ...
随机推荐
- REST风格的5条关键原则
REST风格的5条关键原则包括: (1)网络上的所有事物都被抽象为资源. (2)每个资源对应一个唯一的资源标识. (3)通过通用的连接件接口对资源进行操作. (4)对资源的各种操作不会改变资源标识. ...
- Jenkins+Jmeter持续集成笔记(一:环境准备)
整体思路: 通过Jmeter图形界面编写api测试脚本 ant 批量执行Jmeter脚本文件 将其集成到jenkins,设置执行频率与发送测试报告 运行环境 系统 配置 IP Centos7.1 1核 ...
- postman接口自动化,环境变量的用法详解(附postman常用的方法)
在实现接口自动测试的时候,会经常遇到接口参数依赖的问题,例如调取登录接口的时候,需要先获取登录的key值,而每次请求返回的key值又是不一样的,那么这种情况下,要实现接口的自动化,就要用到postma ...
- iOS UI基础-21 WKWebView
WKWebView,直接显示网页,需要引入第三方类:https://github.com/marcuswestin/WebViewJavascriptBridge 加上进度条代码,很完美使用 webV ...
- linux 下tftpf搭建
什么是TFTP服务 TFTP(Trivial File Transfer Protocol,简单文件传输协议) 是TCP/IP协议族中的一个用来在客户机与服务器之间进行 简单文件传输的协 ...
- Spring 部分常用注解
最近在Spring-MVC的项目,把一些自己在项目中使用到的注解整理一下. 1.@Controller 对应表现层的Bean,也就是Struts中对应的Action: 使用这个注解之后,就是把当前Be ...
- git之概念图
1.git四大区. . 2. 3. 4.
- EasyUI中使用textbox赋值,setValue和setText顺序问题
注意两点: 当text和value的值不同时,一定要先赋值Value,然后赋值Text,否则text和value全部为Value的值. 如果只setValue,则使用getText和getValue得 ...
- 网站app被劫持怎么办?HTTPDNS阿里云域名防劫持, DNSPod 移动解析服务 D+
网站app被劫持怎么办?HTTPDNS阿里云域名防劫持, DNSPod 移动解析服务 D+ HTTPDNS_移动开发_域名解析_域名防劫持-阿里云https://www.aliyun.com/prod ...
- python_study-1
# Author:larlly'''函数1.在Python交互式命令行下,可以直接输入代码,然后执行,并立刻得到结果.2.文本编辑器推荐俩款 http://www.sublimetext.com/ h ...