JavaEE企业级项目开发(第3版)教学课件微课9-4:Spring MVC的RESTful服务.pptx
主讲人:蒋卫祥延迟符SpringMVC的RESTful服务JSON交互与RESTful支持
什么是RESTfulESTRESTful(英文:RepresentationalStateTransfer,简称REST)描述了一个架构样式的网络系统,比如web应用程序。在目前主流的三种Web服务交互方案中,REST相比于SOAP(SimpleObjectAccessprotocol,简单对象访问协议)以及XML-RPC更加简单明了,无论是对URL的处理还是对Payload的编码,REST都倾向于用更加简单轻量的方法设计和实现。值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。
什么是RESTful简单来说,RESTful风格就是把请求参数变成请求路径的一种风格。http://.../queryItems?id=1传统的URL请求格式为:http://.../items/1采用RESTful风格后,其URL请求为:参数id=1变成了请求路径的一部分动词形式的路径变成了名词
RESTful特征—以资源为基础?资源可以是一个图片、音乐、一个XML格式、HTML格式或者JSON格式等网络上的一个实体,除了一些二进制的资源外普通的文本资源更多以JSON为载体、面向用户的一组数据(通常从数据库中查询而得到)。通过URL地址来标识资源,系统中的每个对象或资源都可以通过其URL地址来获取。例如:传统的资源访问:http://www.xxx?id=1name=zhangsanRESTful资源访问:http://www.xxx/1/zhangsan
RESTful特征—统一接口对资源的操作包括获取、创建、修改和删除,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。使用RESTful风格从接口上可能只能定位其资源,但是无法知晓它具体进行了什么操作,需要具体了解其发生了什么操作动作要从其HTTP请求方法类型上进行判断。具体的HTTP方法和方法含义如下:GET(SELECT):从服务器取出资源(一项或多项)。POST(CREATE):在服务器新建一个资源。PUT(UPDATE):在服务器更新资源(客户端提供完整资源数据)。PATCH(UPDATE):在服务器更新资源(客户端提供需要修改的资源数据)。DELETE(DELETE):从服务器删除资源。
RESTful特征—URI指向资源URI统一资源标志符用来标识抽象或物理资源的一个紧凑字符串。URI包括URL和URN,在这里更多时候可能代指URL(统一资源定位符)。RESTful是面向资源的,每种资源可能由一个或多个URI对应,但一个URI只指向一种资源。
RESTful特征—无状态服务器不能保存客户端的信息,每一次从客户端发送的请求中,要包含所有必须的状态信息,会话信息由客户端保存,服务器端根据这些状态信息来处理请求。当客户端可以切换到一个新状态的时候发送请求信息,当一个或者多个请求被发送之后,客户端就处于一个状态变迁过程中。每一个应用的状态描述,可以被客户端用来初始化下一次的状态变迁。
SpringMVC的RESTful服务延迟符在SpringMVC中对RESTful支持,主要通过以下注解实现RESTful:@Controller:声明一个处理请求的控制器@RequestMapping:请求映射地址到对应的方法,该注解又可以分为一下几种类型:@GetMapping@PostMpping@PutMapping@DeleteMapping@PatchMapping@ResponsrBody:响应内容转换为JSON格式@RequestBody:请求内容转换为JSON格式@RestContrller:等同@Controller+@ResponsrBody
RESTful综合案例延迟符学习案例案例代码接下来,使用RESTful完成用户管理模块的整体API设计。
谢谢观看