RESTfule风格又是啥 什么是RESTful
什么是RESTful(RESTfule作风又是啥)资源网小编带大家一起来懂得一下
文章插图
什么是RESTful(RESTfule作风又是啥)
什么是REST?
REST(英文:Representational State Transfer,简称REST,意思:表述性状况转换,描写了一个架构样式的网络体系,比如web运用) 。
它是一种软件架构作风、设计作风,而不是尺度,只是供给了一组设计原则和束缚条件,它重要用于客户端和服务端交互类的软件 。基于这个作风设计的软件可以更简介,更有层次,更易于实现缓存等机制 。
它本身并没有什么应用性,其核心价值在于如何设计出符合REST作风的网络接口 。
什么是RESTful?
REST:指的是一组架构束缚条件和原则 。满足这些束缚条件和原则的运用程序或设计就是RESTful 。
RESTful的特征
资源(Resources):网络上的一个实体,或者说是网络上的一个具体信息 。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在 。可以用一个URI(统一资源定位符)指向它,每种资源对应一个特征的URI 。要获取这个资源,拜访它的URI就可以,因此URI即为每一个资源的独一无二的辨认符 。
表示层(Representation):把资源具体出现出来的情势,叫做它的表示层(Representation) 。比如,文本可以用txt格局表示,也可以用HTML格局、XML格局、JSON格局表示,甚至可以采取二进制格局 。
状况转换(State Transfer):每发出一个要求,就代表了客户端和服务器的一次交互进程 。HTTP协定,是一个无状况协定,即所有的状况都保留在服务器端 。因此,如果客户端想要操作服务器,必需通过某种手腕,让服务器端产生“状况转换”(State Transfer) 。而这种转换是树立在表示层之上的,所以就是“表示层状况转换” 。具体说,就是HTTP协定里面,四个表现操作方法的动词:GET、POST、PUT、DELETE 。他们分离对应四种根本操作:GET用来资源网获取资源,POST用来新建资源,PUT用来更新资源,DELETE用来删除资源 。
如何设计RESTful运用程序的API?
路径设计:数据库设计完毕之后,根本上就可以肯定有哪些资源要进行操作,相对应的路径也可以设计出来 。
动词设计:也就是针对资源的具体操作类型,有HTTP动词表现,常用的HTTP动词如下:POST、DELETE、PUT、GET
RESTful示例
/account/1 HTTP GET:得到id=1的account
/account/1 HTTP DELETE:删除id=1的account
/account/1 HTTP PUT:更新id=1的account
SpringMvc对RESTful的支撑
RESTful的URL路径变量
URL-PATTERN:设置为/,便利拦阻RESTful要求 。
@PathVariable:可以解析出来URL中的模板变量({id}/{name})
URL:http://localhost:8080/ssm/cyb/item/1/chenyanbin
Controller层:
@RequestMapping("{id}/{name}")
@ResponseBody
public Item queryItemById(@PathVariable Integer id,@PathVariable String name){
.............
}
如图
文章插图
RESTful的CRUD
@RequestMapping:通过设置method属性的CRUD,可以将同一个URL映射到不同的HandlerMethod办法上 。@GetMapping、@PostMapping、@PutMapping、@DeleteMapping注解同@RequestMapping注解的method属性设置 。
RESTful的资源表述
RESTful服务中一个主要的特征就是一种资源可以有多种表示情势,在SpringMvc中可以应用ContentNegotiatingManager这个内容协商管理器来实现这种方法 。
内容协商的方法有三种
扩大名,比如.json表现我要J资源网SON格局数据、.xml表现我要xml格局数据
要求参数:默认是“format”
要求头设置Accept参数,比如设置Accept为application/json表现要JSON格局数据
现在一般RESTful作风响应的数据一般都是JSON格局,所以一般也不应用内容协商管理器,直接应用@ResponseBody注解将数据依照JSON格局返回
静态资源拜访<mvc:resources>#
在Springmvc.xml文件中,应用mvc:resources标签,具体如下:
<!-- 当DispatcherServlet配置为/来拦阻要求的时候,须要配置静态资源的拜访映射 -->
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/css/" mapping="/css/**"/>
....
....
....
....
如图
什么是RESTful?RESTfule作风又是啥?
SpringMvc会把mapping映射到ResourceHttpRequestHandler,这样静态资源在经过DispatcherServlet转发时就可以找到对应的Hand资源网ler了 。
推荐阅读
- 统一格式化风格,再也不用担心git冲突了,很多老管理都还不知道
- 失业率|建议上班族私下这么穿,款式新颖风格鲜明,不费力就能赚足回头率
- 苹果|《向风而行》又是职场戏,还有各种制服绝了?
- 高街风格是什么意思?
- 文玩|不熟悉翡翠手镯的人,可以选这几款手镯,价格实惠又是满绿
- 微软|又是“抽奖”:微软国行Xbox Series X抽选销售遭玩家质疑
- 手机发烫的10大原因,你知道吗?|新手机又是为什么会发热?
- 韩涵|又是卑微牛尾的一天,被职业演就算了,还要主动承认错误?
- 小米|先是小米 又是OPPO、vivo 印度彻底疯了
- 鞠婧祎|鞠婧祎换风格后也太惊艳了,清纯又甜美,很有初恋感