restful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
资源的对象。在REST中,每一个对象都是通过URL来表示的,对象用户负责将状态信息打包进每一条消息内,以便对象的处理总是无状态的。
RESTFUL对于资源的具体操作类型,由HTTP动词表示。常用的HTTP动词有下面五个:
1、GET(SELECT):从服务器取出资源(一项或多项)
HTTP GET /user/1 :获得id=1的user
HTTP GET /user :获取所有的用户信息
2、POST(CREATE):在服务器新建一个资源。
HTTP POST /user :新增一个user,需要把提交的user信息放在请求的body中提交
3、PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
HTTP PUT /user/1 :修改id=1的user信息,需要把修改的user信息放在请求的body中提交
4、PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
HTTP PATCH /user/1 :修改id=1的user信息,需要把修改的user信息放在请求的body中提交
5、DELETE(DELETE):从服务器删除资源。
HTTP DELETE /user/1:删除id=1的user
在控制器中是这样写的:
1、restful风格使用@PathVariable获取参数
2、value = ”请求url中匹配的参数名“,url中的参数名用{}括起来,如{userName}
3、required = true 默认true,表示这个参数是必须的!
4、只写一个@PathVariable时表示 url中的参数名和方法的形参名称一致
例:
@RequestMapping(“/select/{userName}/{password}”)
public String select(@PathVariable(value = “userName”,required = true) String name, @PathVariable String password){//方法内容}
注意:页面请求路径的参数不是根据@RequestMapping的路径{}中的参数名来匹配的,而是通过@RequestMapping指定路径的参数顺序来匹配的。