【SpringMVC+RestFul】springMVC Restful风格API接口开发
1 前言
Ajax 是 Asynchronous Javascript And XML(异步 JavaScript 和 XML)的简称,是指一种创建交互式、快速动态网页应用的网页开发技术,通过在后台与服务器进行少量数据交换,可以使网页实现异步更新,即可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
REST 是 Representational State Transfer(表述性状态转变)的简称,于2000年被提出,使用 HTTP、URI、XML、JSON 等标准和协议,支持轻量级、跨平台、跨语言的架构设计,是 Web 服务的一种架构风格。RESTful 是遵循 REST 风格的一种 Web 服务。 通过不同请求方法实现对资源的增删改查操作,通过统一的接口实现4种操作,保证一个资源对应一个请求地址。
在 RESTful 中,介绍了通过配置 HiddenHttpMethodFilter 实现 RESTful。由于 Ajax 可以直接发送 GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE 8种请求方法,因此不需要配置 HiddenHttpMethodFilter。
2 Ajax调用Restful接口示例
Restful风格的API是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
在Restful风格中,用户请求的url使用同一个url而用请求方式:get,post,delete,put...等方式对请求的处理方法进行区分,这样可以在前后台分离式的开发中使得前端开发人员不会对请求的资源地址产生混淆和大量的检查方法名的麻烦,形成一个统一的接口。
在Restful风格中,现有规定如下:
- GET(SELECT):从服务器查询,可以在服务器通过请求的参数区分查询的方式。
- POST(CREATE):在服务器新建一个资源,调用insert操作。
- PUT(UPDATE):在服务器更新资源,调用update操作。
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性。
- DELETE(DELETE):从服务器删除资源,调用delete语句。
了解这个风格定义以后,我们举个例子:
如果当前url是 http://localhost:8080/User,那么用户只要请求这样同一个URL就可以实现不同的增删改查操作,例如:
http://localhost:8080/User?_method=get&id=1001 这样就可以通过get请求获取到数据库 user 表里面 id=1001 的用户信息
http://localhost:8080/User?_method=post&id=1001&name=zhangsan 这样可以向数据库 user 表里面插入一条记录
http://localhost:8080/User?_method=put&id=1001&name=lisi 这样可以将 user表里面 id=1001 的用户名改为lisi
http://localhost:8080/User?_method=delete&id=1001 这样用于将数据库 user 表里面的id=1001 的信息删除
这样定义的规范我们就可以称之为restful风格的API接口,我们可以通过同一个url来实现各种操作。
接下来我们讲解spring-mvc中是如何实现restful风格API接口的,并且对其中出现的问题进行解决!(java web对 put 和 delete 请求的不支持问题)
首先我们搭建好spring mvc的项目接口,并按照restful风格写好控制器,这里我写了一个User控制器类和一个User "Action" :

这里的controller 和 action的url地址是按照restful风格编写的 访问地址 /User/User 用method区分请求方法
我们的前台使用的是jquery ajax进行请求:




本文介绍如何使用SpringMVC实现RESTful风格的API接口,包括通过配置HiddenHttpMethodFilter解决PUT和DELETE请求的问题,以及如何通过Ajax调用这些接口。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



