折腾一下YII2中的RESTful开发(上)

yii2框架-restful的基础入门(二十一) 今天给人的感觉就是“热,很热,热中暑”! 最近的高温天气简直让人不能活啊,听说华中地区的温度居然超过40度,广东的温度也接近37度,户外工作的真的做好避暑咯! 趁着今天工作之余,感觉总的写些什么东西。现在回想起来,自己学习编程也接近3年了,从大三开始正式学习php,当时是跟着LAMP兄弟连的老师一边看视频,一边查找资料,一边练习,做些小的模块,比如登录,分页,简单的CURD等等。到后来逐渐接触 阅读详情

1.建表语句

CREATE TABLE `users` (
  `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user_name` varchar(50) NOT NULL DEFAULT '',
  `user_pass` varchar(255) NOT NULL DEFAULT '',
  `user_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

2.模型
models\Users.php:

<?php

namespace app\models;

use yii\db\ActiveRecord;

class Users extends ActiveRecord
{
    //指定表名称
    static public function tableName()
    {
        return 'users';
    }
}

3.控制器
注意此时的控制是要继承ActiveController了

class UserController extends ActiveController
{
    public $modelClass = 'app\models\Users';
}

4.配置UrlRule,config/web.php

        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
                ['class' => 'yii\rest\UrlRule','controller' => 'user']
            ],
        ],

配置完成之后,访问http://localhost/yiiserver/web/index.php/users
这里写图片描述
默认是xml文档,其中有我们表的2条数据了。
如果我们要看user_id为1的:
http://localhost/yiiserver/web/index.php/users/1
这里写图片描述

5.设置响应格式

<?php

namespace app\controllers;

use yii\rest\ActiveController;
use yii\web\Response;


class UserController extends ActiveController
{
    public $modelClass = 'app\models\Users';
    public function behaviors()
    {
        $behaviors = parent::behaviors();
        $behaviors['contentNegotiator']['formats']['text/html'] = Response::FORMAT_JSON;
        return $behaviors;
    }
}

这里写图片描述
现在就返回的是JSON格式了。
6. 重写动作

    public function actions()
    {
        $action =  parent::actions(); // TODO: Change the autogenerated stub
        unset($action['index']); //从所有动作中删除index
    }

    public function actionIndex(){
        echo '重写index';
    }

查看ActiveController 类的源码可以知道默认有几个动作,比如默认就有index,我们要想自定义index 就必须在actions() 方法中删除。
这里写图片描述

7.POST数据
需要重写model的scenarios(),models/Users.php:

    public function scenarios()
    {
        return [
            'default'=>['user_name','user_pass']
        ];
    }

表示可以对user_name和user_pass 2个字段进行插入或者修改。
控制器代码:

<?php

namespace app\controllers;

use yii\rest\ActiveController;
use yii\web\Response;


class UserController extends ActiveController
{
    public $modelClass = 'app\models\Users';
    public function behaviors()
    {
        $behaviors = parent::behaviors();
        $behaviors['contentNegotiator']['formats']['text/html'] = Response::FORMAT_JSON;
        return $behaviors;
    }
    public function init()
    {
        $this->enableCsrfValidation = false;
    }

}

发送一个post试试:
这里写图片描述

Oracle数据库RMAN异机恢复保姆级教程,按照步骤来操作,一次就成功! 本文深入解析RMAN异机恢复四大核心场景(演练、数据恢复、故障应急、测试环境搭建),提供从备份到验证的完整步骤和实战脚本。包含RAC到单机迁移技巧、路径调整、常见报错解决方案,助你彻底掌握数据库恢复的“救命技能”。DBA必备干货,强烈推荐 阅读详情

相关推荐

Ubuntu 22.04 上 Mezzanine CMS 完整安装指南

CMS(内容管理系统)是构建博客、企业官网等静态与动态内容混合站点的核心技术栈;Django 作为 Python 生态中最成熟的 Web 框架,凭借其 ORM、Admin 和安全机制,成为 CMS 开发的首选基础。Mezzanine 是基于 Django 的轻量级 CMS,以开箱即用、零配置多语言和内置 SEO 工具为特色,特别适合中小项目快速落地。在 Ubuntu 这类强调稳定性的服务器操作系统上部署时,关键挑战并非代码逻辑,而是系统层依赖协同——如 Python 版本锁定、SQLite FTS5 支持、

weixin_33508411的博客 304

php restful 认证,yii2 restful api 风格搭建(二)接口认证

最近在研究如何利用 yii2 搭建 restful api,将 yii2 restful api / yii2 rest api 搭建心得写下,欢迎一起讨论做完了yii2 restful api 搭建,就需要进行 auth 接口认证和定义返回码了一、yii2 支持的 3种认证方式1、HTTP 基本认证: \yii\filters\auth\HttpBasicAuth支持两种认证方式,输入用户名和密...

weixin_28756347的博客 558

深入RK3588内存管理:如何用dma_buf_alloc和mpp_buffer为RGA2分配4G以内内存(附kernel版本选择)

本文深入探讨了RK3588平台上RGA2核心的4G内存限制问题,详细解析了dma_buf_alloc和mpp_buffer两种内存分配方案的技术细节与适用场景。通过代码示例和性能对比,帮助开发者优化高分辨率视频处理流程,并提供了内核版本选择与常见错误排查指南。

weixin_29168153的博客 364

【RESTful】Yii2实现RESTful架构配置最佳实践

Yii2实现RESTful架构配置最佳实践 为什么要用RESTful API 在服务器端,应用程序状态和功能可以分为各种资源。资源是一个有趣的概念实体,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用 URI (Universal Resource Identifier) 得到一个唯一的地址...

weixin_34358365的博客 326

图像加密与解密(附matlab代码)

详细介绍了三种图像加密解密原理,并基于matlab开发了一套相应系统。

2439

Halcon手眼标定保姆级教程:从‘眼在手上’到‘眼到手’两种模式全解析(附代码)

本文详细解析Halcon在机器人视觉引导中的手眼标定技术,涵盖Eye-in-Hand和Eye-to-Hand两种模式,提供从硬件准备到实战代码的完整解决方案。通过精确的相机标定和坐标转换,帮助实现工业自动化中机械臂与视觉系统的高精度协同作业。

weixin_42544461的博客 207

yii2.0 基于RESTful的接口的几种请求方式, 举例说明

yii2.0 基于RESTful的接口的几种请求方式

daxia_85的博客 5866

3D识别建模 — 基于ReconstructMe和EAGLE EYES SCANNER的实现

3D实体识别建模,作为3D打印反向工程的一个重要环节,今天就让我们利用ReconstructMe和EAGLE EYES SCANNER来了解一下。 第一步、软件和硬件准备就绪 ReconstructMe下载并安装 http://reconstructme.net/?wpdmdl=160 EAGLE EYES SCANNER直接将相应USB插入电脑接口即OK,之后在    中点击搜索“设备管理...

qq_40013290的博客 880

RESTful介绍和yii2中RESTful如何配置

RESTful介绍和yii2中RESTful如何配置   REST的名称"表现层状态转化"中,省略了主语。"表现层"其实指的是"资源"(Resources)的"表现层"。 从学术上来讲:    RESTful提出的初衷,是考虑到长期以来,软件研究主要关注软件设计的分类、设计方法的演化, 很少客观地评估不同的设计选择对系统行为的影响。而相反地,网络研究主要关注系统之间通信行为的细节、 如何

小白 5880

深入解析“PROJ: proj_create_from_database: Cannot find proj.db”错误:从环境配置到打包实战

本文深入解析了“PROJ: proj_create_from_database: Cannot find proj.db”错误的根源与解决方案,涵盖环境配置、PyInstaller打包及跨平台兼容性处理。通过详细分析PROJ库路径问题及GDAL依赖关系,提供动态路径设置、资源文件打包等实战技巧,帮助开发者高效解决地理数据处理中的常见错误。

weixin_29074409的博客 444

【vivado PG学习】1 PG168:7 Series FPGAs Transceivers官方配置方法学习笔记

介绍: The 7 series FPGAs Transceivers Wizard LogiCORE™ IP 自动创建配置7系列fpga 收发器的HDL封装。向导可以配置一个或多个支持行业主流标准的高速串行收发器。或者从零开始支持各种自定义协议。 功能: 创建配置7系列fpga 收发器的HDL封装。 自动对模拟设置进行配置。 预定义了提供Aurora 8B/10B, Aurora 64B/66B, CEI-6G,DisplayPort, Interlaken, Open Base StationAr..

w0shishabi的博客 5万+

安装使用RESTful 框架SLIM方法

相关框架: http://www.golaravel.com 是一个PHP框架,内置名为LUMEN的RESTful API框架,有中文文档, http://lumen.golaravel.com/docs/ https://apigility.org / 是基于ZEND框架的RESTful API框架 。 https://github.com/anandkunal/ToroPHP Toro ...

weixin_30247781的博客 291

单精度浮点数存储、双精度浮点数存储

单精度浮点数存储、双精度浮点数存储

fancynthia的博客 1303

基于Laravel的轻量级个人博客系统开发实战(附完整源码)

本文详细介绍了基于Laravel框架开发轻量级个人博客系统的完整实战过程。从环境搭建、数据库设计、模型创建,到后端路由控制器实现、前端Blade模板构建,再到核心功能扩展与部署上线,提供了全流程的代码示例与开发思路。文章附有完整源码,适合PHP开发者及Web开发新手学习现代PHP开发实践,快速构建功能完善的个人博客管理系统。

3c4x5z6v7b的博客 495

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Elastisearch的安装与配置

Elasticsearch的安装与配置 据网上了解 Elasticsearch是一个时时分布式搜索和分析数据的平台.它的流行是因为其强大的功能及易用可扩展 Elasticsearch支持RESTful操作 看了教程建议不装最新版. 下载 进入官网:https://www.elastic.co/cn/downloads/elasticsearch 如上图选择以前的版本,这里我是看的他人的教程,所...

贝爷的奇遇冒险 407

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Yii2 使用 RESTful 写API接口 实例

Yii2 使用 RESTful? 其实 Yii2 框架本身就对 RESTful 是友好支持的,具体可以看官方文档(http://www.yiichina.com/doc/guide/2.0/rest-quick-start),或者去看源码,都是可以的 创建一个控制器  我的工作目录如图所示 (首先, 参照下面的目录图片,可以看出,我创建了两个大的文件夹,v1,v2,目的是测试访问不同版

daxia_85的博客 2万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试

为什么80%的码农都做不了架构师?>>> ...

weixin_34313182的博客 412

yii2框架-restful的自定义api(二十二)

昨天的大新闻---国家的相关监管部门正式出台了“网约车”的合法法规!滴滴,UBER,易到,神州专车等积极响应,表示支持网约车的新规!一方面看来是这些企业受益,其实从侧面映射中国的移动互联网中的o2o服务,分享经济和共享经济的模式已经在国家层面得到很好的支持,在管理,监管,安全,实惠等方面都会以法律的形式来规范责任。那么对于用户来说,这也是一件好事,因为我们以后做的车不再是黑车了。中国的移动互联网的...

bingcool 7334

yii2 RESTful 接口 api -2 : 写自己的接口方法search

yii2 的 restful 接口的默认  是帮写了很多的方法 下面我们需要书写自己的接口方法,譬如查找name是xxxx的条目 1. 更改配置:'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'enableStrictParsing' => true, 'sh

Terry - 专注外贸B2C 4037

Yii2.0 RESTful风格的Controller与ActiveController

yii\rest\Controller提供的大多数RESTful API功能通过过滤器实现. 特别是以下过滤器会按顺序执行: yii\filters\ContentNegotiator: 支持内容协商。yii\filters\VerbFilter: 支持HTTP 方法验证; yii\filters\AuthMethod: 支持用户认证;yii\filters\RateLimiter: 支持频

Alan Jager space 7142

yii2 RESTful 接口 api -3 : 账户验证 和 速度控制

参看文章: http://blog.youkuaiyun.com/terry_water/article/details/49801717

Terry - 专注外贸B2C 2332

yii2项目实战-restful api之授权验证

什么是restful风格的api呢?我们之前有写过大篇的文章来介绍其概念以及基本操作。 既然写过了,那今天是要说点什么吗? 这篇文章主要针对实际场景中api的部署来写。 我们今天就来大大的侃侃那些年api遇到的授权验证问题!独家干活,如果看完有所受益,记得不要忘记给我点赞哦。 业务分析 我们先来了解一下整个逻辑 用户在客户端填写登录表单用户提交表单,客户端请求登

lhorse003的博客 1万+

yii2 RESTful API(一)

今天我们简单搭建一个RESTful API服务,yii2 是个好东西,做接口更方便一些。 废话少说,现在开始了。 一 、首先我们要进行一下文件配置

梦情与你的博客 1865

Yii2 实现伪Rest风格WebAPI

情况是这样的,原项目底层使用C#做的WebService,本意是使用Restful API的整套规范,但是开发的过程中走了样,变成了一个Restful+Json的混合体,大致风格如下: 某接口访问地址:api/LinkManage  请求方式 参数形式 get Url Query String post content-type:applicati

houpanqi的博客 445

Yii2.0 RESTful Web服务(4)

路由 随着资源和控制器类准备,您可以使用URL如 http://localhost/index.php?r=user/create访问资源,类似于你可以用正常的Web应用程序做法。 在实践中,你通常要用美观的URL并采取有优势的HTTP动词。 例如,请求POST /users意味着访问user/create动作。 这可以很容易地通过配置urlManager应用程序组件来完成 如下所

Alan Jager space 4167

yii2 restful 获取两个字段的乘积

为什么80%的码农都做不了架构师?>>> ...

weixin_34220623的博客 238
上一篇: 折腾一下框架请求的姿势
下一篇: 框架中的RESTful api快速领悟(中):token认证
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值