知乐空间

RESTfule风格又是啥(什么是RESTful)

什么是RESTful(RESTfule的风格很尴尬)Best边肖带大家一探究竟。

什么是RESTful(什么是RESTful(RESTfule)最佳网络。

什么是REST?
REST(英文:具象状态转移,缩写为REST,意思是:具象状态转移,描述一个架构风格的网络系统,比如web应用)。

它是一种软件架构风格和设计风格,不是一个标准,而是提供了一套设计原则和约束。主要用于客户端和服务器端的交互软件。Best Network基于这种风格设计的软件可以更加简洁和层次化,更容易实现缓存等机制。

它本身并没有什么用处,它的核心价值在于如何设计出符合REST风格的网络接口。

什么是RESTful?
REST指的是一组架构约束和原则。满足这些约束和原则的应用程序或设计就是RESTful。

RESTful特性
资源:网络上的实体,或者网络上的特定信息。它可以是一段文字,一张图片,一首歌,一个服务,总之,它是一个具体的存在。它可以被URI(统一资源定位器)指向,每个资源对应一个URI特征。为了获得这个资源,最佳网络可以访问它的URI,所以URI是每个资源的唯一标识符。

表示:资源被具体呈现的形式被称为它的表示。例如,文本可以用txt格式、HTML格式、XML格式、JSON格式甚至二进制格式来表示。

状态转移:发送的每一个请求都代表客户端和服务器之间的一个交互过程。HTTP协议是无状态协议,即所有状态都存储在服务器端。因此,如果客户端想要操作服务器,就必须通过某种方式在服务器上进行“状态转移”。这种转换是基于表示层的,所以叫做“表示层状态转换”。具体来说,在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/1httpdelete:删除id=1的帐户
/account/1 httput:更新id=1的帐户
。SpringMvc支持RESTful
RESTful URL路径变量
URL-PATTERN:设置为/,方便拦截RESTful请求。

@PathVariable:可以解析URL中的模板变量({id}/{name})。

网址:http://localhost:8080/SSM/cyb/item/1/chenyanbin


控制器层:
@ request mapping(“{ id }/{ name }”
@ response body
公共项queryitembyid(@ path variable integerid,@ path variable string name){
.............[/.


RESTful的CRUD[/br CRUD
@ request mapping:通过设置方法属性的CRUD,可以将同一个URL映射到不同的HandlerMethod方法。注释@GetMapping、@PostMapping、@PutMapping和@DeleteMapping与注释@RequestMapping的方法属性设置相同。

RESTful资源表示
RESTful服务的一个重要特性是一个资源可以有多个表示,这可以通过使用SpringMvc中的ContentNegotiatingManager来实现。

内容协商有三种扩展
,例如。json的意思是我想要JSON格式的数据,。xml表示我想要xml格式的数据
。请求参数:默认为“格式”
。请求头设置接受参数。比如将Accept设置为application/json就意味着需要json格式的数据
现在RESTful样式响应的数据一般都是JSON格式的,所以一般不使用内容协商管理器,直接使用@ResponseBody标注返回JSON格式的数据。

静态资源访问

& lt!-当DispatcherServlet配置为/拦截请求时,需要配置静态资源的访问映射->:
& lt;MVC:resources location = "/js/" mapping = "/js/* * "/& gt。
& lt;MVC:resources location = "/CSS/" mapping = "/CSS/* * "/& gt。
...
...
...
...
如图所示。

什么是RESTful?RESTfule风格是什么?
SpringMvc将映射到ResourceHttpRequestHandler,这样静态资源在被DispatcherServlet转发时就可以找到对应的Handler。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@xxxxxxxx@hotmail.com 举报,一经查实,立刻删除。

留言与评论(共有 0 条评论)
验证码: