REST风格的四种请求方式
1.REST是什么?
3.案例
REST是什么?
REST和RESTful
Representational State Transfer (缩写:REST)直译就是表现层状态转换,它是一种便于不同软件/程序在网络中互相传递信息 的架构风格。符合这种架构风格的网络服务 可被称为 RESTful 风格。
RESTFUL特点包括:
- 资源:每一个 URI 都代表一种资源;
- 方法:客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;
- 方法操作资源:通过不同方法来操作资源,导致了资源不同的表现形式。
- 操作结果表现:资源的表现形式可以是JSON,XML或者HTML等;
- 无状态:客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。
REST风格的四种请求方式
注解 | 说明 | 用于 |
---|---|---|
@GetMapping | 匹配GET方式的请求 | 一般用于读取数据 |
@PostMapping | 匹配POST方式的请求 | 一般用于新增数据 |
@PutMapping | 匹配PUT方式的请求 | 一般用于更新数据 |
@DeleteMapping | 匹配DELETE方式的请求 | 一般用于删除数据 |
案例
get请求
前端发get请求:
export const reqData = ()=>{
return requests({
url:'/user/get',
method:'get',
})
}
后台Controller:
@GetMapping("user/get")
public String list(){
return "访问数据";
}
post请求
前端发post请求:
export const reqInsertData = (data)=>{
return requests({
dataType:'JSON',
url:'/user/insert',
method:'post',
data:data, //简写data
})
}
后台Controller:
@PostMapping("user/insert")
public String insert(@RequestBody Data data){
return "插入一条:"+data.toString()+"数据";
}
put请求
前端发put请求:
export const reqUpdateData = (data)=>{
return requests({
dataType:'JSON',
url:'/user/update',
method:'put',
data:data, //简写data
})
}
后台Controller:
@PutMapping("user/update")
public String update(@RequestBody Data data){
return "修改数据成功"+data.toString();
}
delete请求
前端发delete请求:
export const reqDeleteData = (id)=>{
return requests({
url:`/user/update/${id}`,
method:'delete',
})
}
后台Controller:
@DeleteMapping("user/delete/{id}")
public String delete(@PathVariable("id") Long id){
return "删除数据数据成功,id为:"+id;
}
* _ooOoo_
* o8888888o
* 88" . "88
* (| -_- |)
* O\ = /O
* ____/`---'\____
* .' \\| |// `.
* / \\||| : |||// \
* / _||||| -:- |||||- \
* | | \\\ - /// | |
* | \_| ''\---/'' | |
* \ .-\__ `-` ___/-. /
* ___`. .' /--.--\ `. . __
* ."" '< `.___\_<|>_/___.' >'"".
* | | : `- \`.;`\ _ /`;.`/ - ` : | |
* \ \ `-. \_ __\ /__ _/ .-` / /
* ======`-.____`-.___\_____/___.-`____.-'======
* `=---='
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
欢迎访问我的csdn博客,我们一起成长!!