码迷,mamicode.com
首页 > 其他好文 > 详细

RestFul架构

时间:2019-08-07 22:40:24      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:delete   其他   png   不同的   表单   val   现在   strong   常用   

1.Restful是什么?

restful不是一个技术,他只是一个规范,就像是阿里的类命名规范,我们要给dao接口的命名为:I**DAO,dao接口的实现类命名为**DAOImpl,变量名,方法名采用驼峰命名等相似,上面说的都是给类,方法,变量命名的规范,而Restful是给路径命名的规范

2.为什么要使用Restful

可能每个人,每个公司的请求路径的规范都是不一样的,这样的可能造成人为代码的请求的路径不太容易被人理解,所以就有人看到了这个缺陷。能不能把所有的请求的路径都给他规范起来,这样大家如果都知道这种规范,代码是不是更容易传播?

http请求的方式常用的有get和post两种,但是其实还有put和delete,但是我们的html的form标签的method属性,只有get和post两种取值,因此在restful火起来之前,其他的两种请求,put和delete是没有什么用的。

restful定义了这样的一个规范,所有程序的请求能不能统一的分为四大类,增删改查,原来的增删改查都是通过方法名来区分的,现在通过请求的方式来表示当前的操作是什么样的操作。

请求方式 对应操作
get 获取资源,查询操作
post 添加资源,保存操作
put 修改资源,修改操作
delete 删除资源,删除操作

下面我们学习使用restful风格的地址

在 以往的增删改查操作,我们的路径为:

路径/add?name=abc&age=11&sex=1

resful风格的地址为:资源的描述

restful=:请求的方式+特定格式的url

POST请求:模拟录入操作: 路径/user
PUT请求: 模拟更新操作:路径/user
GET请求:模拟查询操作:路径/user/list
DELETE请求:模拟删除操作:路径/user/1
用一个通俗的理解就是:restful就是给每一个资源一个uri地址,之前我们想要访问某一资源,可能需要进行一系列的一步一步的操作才能获取到资源,但是使用restful的话,可以直接输入该资源的地址直接获取。
 
注意:使用restful风格的请求路径要求springmvc拦截所有路径,而且路径后面不能有后缀
原先我们的springmvc拦截请求为:
技术图片

使用restful风格的后,就要变成这样的:

技术图片

而且因为在表单中,mothod方法只有get和post两种取值,因此我们要想使用restful的话,需要添加过滤器:

技术图片

而且我们要再表单的内部添加一个隐藏的input标签

<input type="hidden" name="_method" value="put"/>

我们点开上面的过滤器的源码看一下:

技术图片

可以看到methodParam的值默认为:_method,所以上面的标签的name为_method;

继续往下看:

技术图片

可以看到只有方法为post方法时,才会执行代码替换请求方式,因此要想使用restful风格的话,form表单的method方法必须为post,继续看上面的源码,代码会获取表单中name=_method的属性的值,将这个属性的值作为请求方式往后台传递。

下面以实例来演示restful的put和delete用法:
put:
技术图片

 

技术图片

可以看到,添加请求和修改信息的请求路径一样,但是请求的方式不一样,这样就区分开了不同的操作,

 DELETE:

删除操作需要传参:

 技术图片

 

RestFul架构

标签:delete   其他   png   不同的   表单   val   现在   strong   常用   

原文地址:https://www.cnblogs.com/Zs-book1/p/11318070.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!