REST风格如何使用

REST风格是什么

REST翻译过来就是形式状态转换

  • 传统的资源风格如下
    1. http://localhost/user/getById?id=1
    2. http://localhost/user/saveUser
  • REST风格资源如下
    1. http://localhost/user/getById/1
    2. http://localhost/user
  • 从上面我们可以只管看出来REST风格的资源没有? =这种符号

从中我们可以看到REST风格的优点

  1. 隐藏了资源访问行为
  2. 书写简化了

REST风格如何区别不同的操作

REST风格是根据行为来区别操作的
在这里插入图片描述
当然我们也可以自定义提交形式和对应的功能之间的关系

举例实现REST风格

我们举其中的一个例子

    @RequestMapping(value="/users/{id}", method =RequestMethod.GET)
    @ResponseBody
    public String get(@PathVariable int id){
        System.out.println(id);
        return "get is running";
    }

这个method实际上就确定了这个方法指定的行为
如果是get方法访问的就执行这个方法

method =RequestMethod.GET

这个value中的{id}就是访问资源里面的数据

value="/users/{id}"

参数列表里面的这个注解的意思是 从上面的{id}里面取出来数值给 这个int id

   public String get( @PathVariable int id)

使用REST风格的步骤

  1. 设定http请求动作
    即 @RequestMapping(method =设定的动作)
  2. 设定请求参数(路径变量)
    即 value="/users/{id}设定参数
    @PathVariable int id接收参数

@RequestBody @RequestParam 和@PathVariable

  • 区别
    1. @RequestBody用于接收url地址传参或者表单传参
    2. @RequestParam 用于接收json数据
    3. @PathVariable用于接收路径参数,使用{参数名字}描述路径参数
  • 应用
    1. 发送参数超过一个小时用json格式
    2. 非json格式用@ResquestParam接受
    3. 使用RESTful开发的时候参数比较少可以用@PathVariable来接收路径变量通常来传递id值

便捷开发

@Controller和 @ResponseBody提前到class上面时
这俩可以用
@RestContrller来代替
像下面这样的写起来很麻烦

 @RequestMapping( method =RequestMethod.GET)

可以用 @PostMapping来代替

  @PostMapping
    public String put(){
        System.out.println(dsDataSource.toString());
        return "putmappring is running";
    }

同样的还有

@DeleteMapping("/{id}");
@PutMapping
@GetMapping

等注解

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值