RESTful转载,多看几遍就理解了写点自己的看法和理解
要理解资源路由就要理解什么是RESTful。如果一个架构符合REST(即Representational State Transfer的缩写,意为表现层状态转化)原则,就称它为RESTful架构。
REST提出了一些设计概念和准则:
1、网络上的所有事物都被抽象为资源(resource);
2、每个资源对应一个唯一的资源标识(resource identifier);
3、通过通用的连接器接口(generic connector interface)对资源进行操作;
4、对资源的各种操作不会改变资源标识;
5、所有的操作都是无状态的(stateless)。
需要注意的是,REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。
传统的请求模式和REST模式的请求模式区别:
| 作用 | 传统模式 | REST模式 |
|---|---|---|
| 列举出所有的用户 | GET /users/list | GET /users |
| 列出ID为1的用户信息 | GET /users/show/id/1 | GET /users/1 |
| 插入一个新的用户 | POST /users/add | POST /users |
| 更新ID为1的用户信息 | POST /users/mdy/id/1 | PUT /users/1 |
| 删除ID为1的用户 | POST /users/delete/id/1 | DELETE /users/1 |
但是你会看到,这些操作方法本身并不会进行请求类型的判断,这些是需要配合路由规则来完成的,也就是说我们需要给Blog控制器添加RESTful的路由访问规则,看起来像下面一样:
| 请求类型 | 路由规则 | 对应操作方法 | 描述 |
|---|---|---|---|
| GET | blogs |
index/Blog/index | 显示博客列表 |
| GET | blogs/create |
index/Blog/create | 新增博客页面 |
| POST | blogs |
index/Blog/save | 保存博客内容 |
| GET | blogs/:id |
index/Blog/read | 查看博客内容 |
| GET | blogs/:id/edit |
index/Blog/edit | 编辑博客页面 |
| PUT | blogs/:id |
index/Blog/update | 更新博客内容 |
| DELETE | blogs/:id |
index/Blog/delete | 删除博客 |
这里使用了复数方式的
blogs,这是RESTful的一种建议规范。
说下自己的理解
REST是一种设计风格,通常用于HTTP的各种请求,就是一种路由的模式,如上图的GET POST PUT DELETE
因为是一种路由规则 所以TP5和LA5都支持 在进行接口请求操作的时候 可使用此类请求方法 对应的服务器端写好方法即可
RESTful转载,多看几遍就理解了写点自己的看法和理解的更多相关文章
- 关于微信小程序的一些看法和理解
最近做了几个小时的调研,微信小程序 微信小程序是可以理解成在微信中的APP,他的目标是APP的替代者,由于目前的APP主要区分安卓和IOS,或者其他平台, 那么微信小程序的平台在微信,在任何一个手机系 ...
- 【转载】.NET面试题系列[0] - 写在前面
原文:.NET面试题系列[0] - 写在前面 索引: .NET框架基础知识[1] - .NET框架基础知识(1) http://www.cnblogs.com/haoyifei/p/5643689.h ...
- 轻松学,浅析依赖倒置(DIP)、控制反转(IOC)和依赖注入(DI) 依赖注入和控制反转的理解,写的太好了。
轻松学,浅析依赖倒置(DIP).控制反转(IOC)和依赖注入(DI) 2017年07月13日 22:04:39 frank909 阅读数:14269更多 所属专栏: Java 反射基础知识与实战 ...
- 【转】关于 Goroutine Channel Select 的用法和理解
原文:https://blog.csdn.net/jfkidear/article/details/88661693 ----------------------------------------- ...
- 用php理解指针--写给刚刚学习编程的人
在刚刚学习编程时,可能for循环什么的还是可以理解,但是当学习到指针的时候,课上估计很多人就睡觉去了. 现在用两端php程序说明指针 先写一个简单的,大家都理解下 <?php class tex ...
- Java四种引用--《深入理解Java虚拟机》学习笔记及个人理解(四)
Java四种引用--<深入理解Java虚拟机>学习笔记及个人理解(四) 书上P65. StrongReference(强引用) 类似Object obj = new Object() 这类 ...
- Java虚拟机内存溢出异常--《深入理解Java虚拟机》学习笔记及个人理解(三)
Java虚拟机内存溢出异常--<深入理解Java虚拟机>学习笔记及个人理解(三) 书上P39 1. 堆内存溢出 不断地创建对象, 而且保证创建的这些对象不会被回收即可(让GC Root可达 ...
- 依赖注入(DI)和控制反转(IOC)的理解,写的太好了。
学习过spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- 对IT行业的看法和对软件工程的理解
现在社会上IT行业的人才需求越来越大,而作为一个学软件工程的大学生,我认为IT行业是一个前景十分强大的发展方向,而且现在的社会越来越信息化,未来的生活中,电脑肯定是不可缺少的,所以我认为IT行业这是一 ...
随机推荐
- NSObject之二
前面一章我们整理了NSObject类,这一章我们来看看NSObject协议的内容. NSObject协议提供了一组方法作为Objective-C对象的基础.其实我们对照一个NSObject类和NSOb ...
- java8 array、list操作 汇【3】)(-Java8新特性之Collectors 详解
//编写一个定制的收集器 public static class MultisetCollector<T> implements Collector<T, Multiset<T ...
- jquery学习1之对juery对象的细节操作1
jquery是前台动态页面开发的一个很重要的工具. 一:jquery对象中length属性和size()方法 var a=$("a").length; var b= ...
- Java中的内存泄露
- k8s helm 可视化UI 管理工具 monocular部署试用
官方建议是用 helm 进行安装,但是helm 有点费事(各种原因...) 所以使用官方说的使用docker-compose 但是默认官方的compose 跑起来 还是真费事,经过调整,修改了一版支持 ...
- silverlight 进行本地串口调用的一种可行的解决方法 之silverlight端代码
接上边的文章. 在javascript暴露操作activex 串口接收之后,就是silverlight端进行串口数据的显示,我们的显示方式比较简单,只是为了演示,我们每隔1秒进行数据的获取并显示, 为 ...
- Linux小问题以及解决方案
1.Linux的时间有问题? ntpdate pool.ntp.org 2.要把一条命令开机执行开机 vim /etc/rc.local 添加要执行的命令 3.系统中网络进程的端口监听情况: nets ...
- python 网络编程要点
From http://www.zhihu.com/question/19854853 Python网络编程是一个很大的范畴,个人感觉需要掌握的点有:1. 如何使用Python来创建socket, 如 ...
- java 多线程之:synchronized
synchronized原理 在java中,每一个对象有且仅有一个同步锁.这也意味着,同步锁是依赖于对象而存在. 当我们调用某对象的synchronized方法时,就获取了该对象的同步锁.例如,syn ...
- wxWidgets:简单消息处理
早期的wxWidgets使用类似MFC的方式进行消息处理:在新版中这种映射方式仍然得以保留. 在MyFrame.h中添加: private: void OnQuitButton(wxCommandEv ...