SpringMVC处理REST风格请求

REST风格的四种请求方式

1.REST是什么?

2.REST风格的四种请求方式

3.案例

REST是什么?

REST和RESTful

Representational State Transfer (缩写:REST)直译就是表现层状态转换,它是一种便于不同软件/程序在网络中互相传递信息 的架构风格。符合这种架构风格的网络服务 可被称为 RESTful 风格。

RESTFUL特点包括:

  1. 资源:每一个 URI 都代表一种资源;
  2. 方法:客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;
  3. 方法操作资源:通过不同方法来操作资源,导致了资源不同的表现形式。
  4. 操作结果表现:资源的表现形式可以是JSON,XML或者HTML等;
  5. 无状态:客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。

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博客,我们一起成长!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值