RESTful
RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。
RESTFul是一种软件架构风格,而不是标准。它只是提供了一种设计原则和约束条件,主要适用于客户端和服务端交互的软件。主要是基于HTTP协议实现。目的为了提高系统的可伸缩性,降低应用之间耦合度,方便框架分布式处理程序,基于这种风格可以使程序更加简单,具有层次感。
在RESTFul中,对用户请求的URL使用同一个URL而用不同的请求方法get/post/delete/put等方式的请求进行区分,这样方便前后端分离的开发,使得前端开发人员不会对请求的资源地址产生混淆,形成一个统一的接口。
使用规定
在HTTP协议中,四个表示操作方式的动词:GET/POST/PUT/DELETE,分别代表四种基本操作。其中GET用来请求资源,POST用来新建立资源,也可以是更新操作,PUT操作用来更新资源,DELETE操作用来删除资源。
GET
:对应select是从服务端进行查询,可以在服务器通过请求的参数区分查询方式。POST
:对应Create在服务器创建有一个资源,调用Insert操作。PUT
:对应update操作,在服务端更新资源,调用update操作。DELETE
:对应delete操作,在服务端进行删除资源调用delete语句。
对URL进行规范,用于编写RESTFul风格的URL:
- 非RESTFul风格UFL:
http://.../queryUserList?id=12&userName='sdf&sdf'
- Rest风格:
http://.../queryUserList/12
特点:URL简洁,可以将参数通过URL传递给服务端。
HTTP方法规范:不管是删除、修改、添加… 使用的URL是一致的,区分不同的删除等操作是通过HTTP的方法决定的。
- 例:
http://.../queryUserList/12
方法设置为delete是表示是删除12这个用户ID的信息,方法设置为get方法表示是查询用户ID为12的用户。
Spring MVC中实现RESTFul风格接口
Spring MVC对RESTFul应用提供以下支持:
- 使用
@RequestMapping
指定要处理的请求的URL和HTTP请求的动作类型。 - 利用
@PathVariable
注解将URL的变量映射到处理方法的参数上。 - 前端利用
ajax
,在客户端发出put,delete的动作要求。
例如:
<%--引入jquery:使用ajax提交数据--%>
<script type="text/javascript" src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"/>
<script type="text/javascript">
$(function () {
$("#btn").click(function () {
$.ajax({
contentType: " application/json;charset=UTF-8",
<%