REST风格

18 篇文章 0 订阅

简介

REST(Representational State Transfer),表现形式状态转换,访问网络资源的格式

传统访问资源的格式:
http://localhost/user/getById?id=1
http://localhost/user/saveUser

REST风格描述:
http://localhost/user/1
http://localhost/user

REST风格的优点:
1. 隐藏资源访问行为,无法通过地址的值对资源的何种操作
2. 书写简化

按照REST风格访问资源时使用行为动作区分对资源进行了何种操作
http://localhost/users 查询全部用户信息 GET(查询)
http://localhost/users/1 查询指定用户信息 GET(查询)
http://localhost/users 添加用户信息 POST(新增、保存)
http://localhost/users 修改用户信息 PUT(修改、更新)
http://localhost/users/1 删除用户信息 DELETE(删除)

上述行为是约定方式,约定不是规范,可以打破,所以称为REST风格,而不是REST规范
描述模块的名称通常使用的是复数,也就是加s的格式描述,表示此类资源,而非单个资源,例如:users、books、accounts…

RESTful案例

@RestController
@RequestMapping("/books")
public class BookController {
    /**
     * @PathVariable 代表路径变量,从路径中取值
     * {}路径参数占位
     * @param id
     * @return
     */
//    @RequestMapping(value = "/{id}",method = RequestMethod.DELETE)
    @DeleteMapping("/{id}")//简化上面的书写,下同
    public String delete(@PathVariable Integer id){
        System.out.println("book delete..."+id);
        return "{'module':book delete}";
    }

//    @RequestMapping(value = "/{id}",method = RequestMethod.GET)
    @GetMapping("/{id}")
    public String getById(@PathVariable Integer id){
        System.out.println("book getById..."+id);
        return "{'module':book getById}";
    }

//    @RequestMapping(method = RequestMethod.GET)
    @GetMapping
    public String getAll(){
        System.out.println("book getById...");
        return "{'module':book getAll}";
    }
}

@RequestBody用于接收JSON数据
@RequestParam用于接收url地址参数或表单传参
@PathVariable用于接收路径参数,使用{参数名称}描述路径参数


一个参数使用PathVariable,若超过1个时,将数据封装成json数据传送

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值