一、背景
在之前我们进行项目开发时,我们一般不注重区分前端向后端请求数据的方式,不管你前端传过来的是get请求还是post请求,即不管是哪一种请求,我们都可以用@RequestMapping注解来处理。但是如果在进行项目开发时,组里老大规定我们必须明确处理我们前端到底是哪一种请求,是get还是post?是put还是delete?那这时候其实我们就要以restful风格来处理我们的前端请求了。即restful能实现:在请求路径相同(比如几个请求路径均为"/user/test")的情况下,我们可以依据请求方法的不同,来匹配不同的后端接口。
二、Restful的四种请求实现
主要介绍restful以下四种实现,也就是对应我们的四种http请求方式:
(1)GET: 获取数据
(2)POST: 添加数据
(3)PUT: 修改数据
(4)DELETE: 删除数据
在项目中,GET,POST,PUT,DELETE四种请求方式分别对应@GetMapping、PostMapping、@PutMapping、@DeleteMapping。每个注解各司其职,只能干自己分内的事情,即@GetMapping只能处理get请求,不能处理其他三种请求。
1、GET即数据库的select操作: 请求会向数据库发查询数据的请求,从而来获取信息,其只是用来查询一下数据,不会修改、增加或更新数据,不会影响资源的内容。无论进行多少次操作,数据库里的内容都不会改变的。
2、PUT即数据库的update操作:请求是向服务器端发送数据的,从而改变信息,其用来修改数据的内容,但是不会增加数据等,无论进行多少次PUT操作,数据库都不会新增或减少数据。
3、POST即数据库的insert操作:请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会新增数据,几乎目前所有的提交操作都是用POST请求的(比如用户注册)。
4、DELETE即数据库的delete操作:请求是用来删除某一个资源的。
POST主要作用在一个集合资源之上的(url),而PUT主要作用在一个具体资源之上的(url/xxx).如URL可以在客户端确定,那么可使用PUT,否则用POST。
一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE四种请求方式就对应着对数据库中这个资源进行查,增,改,删4个操作。