当前位置:   article > 正文

什么是RestFul风格?_restfi风格接口是什么意思

restfi风格接口是什么意思

什么是RestFul风格?

Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

REST即Representational State Transfer的缩写,可译为"表现层状态转化”。REST最大的几个特点为:资源、统一接口、URI和无状态。

RestFul特点包括:

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

URL

在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址
URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。也可认为由4部分组成:协议、主机、端口、路径

传统方式的资源访问

http://localhot:8080/item/select?id=1 查询 GET
http://localhot:8080/item/insert 新增 POST
http://localhot:8080/item/update 更新 POST
http://localhot:8080/item/delete?id=1 删除 DELETE

得出结论:传统方式请求地址都不同。

RestFul风格

下面有两种不同请求URL方式(请求路径上参数的不同)
@PathVariable:将URL请求路径参数映射到方法参数中
@GetMapping(path = “/add/{a}/{b}”) 等价于 @RequestMapping(path = “/add/{a}/{b}”,method = RequestMethod.GET)
不同的方式都用对应的注解:@GetMapping、@PostMapping、@PutMapping、@DeleteMapping相当于简写了代码

@Controller
public class testController {

//  @RequestMapping(path = "/add",method = RequestMethod.GET)
    @GetMapping(path = "/add")
    @ResponseBody
    public String add(int a, int b){
        int add = a+b;
        return "add1结果为:"+add;
    }

//  @RequestMapping(path = "/add/{a}/{b}",method = RequestMethod.GET)
    @GetMapping(path = "/add/{a}/{b}")
    @ResponseBody
    public String add2(@PathVariable int a, @PathVariable int b){
        int add = a+b;
        return "add2结果为:"+add;
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

在这里插入图片描述在这里插入图片描述
简单来理解的话RestFul风格就是请求路径相同,但根据不同的参数、请求方式不同而执行不同的方法,产生的结果也不同。
如果是传统方式有两个相同路径会直接报错
RestFul主要是保护了我们请求头的数据,如果是传统方式,两个相同的请求路径,请求方式不同也可以实现
传统方式:

//    @RequestMapping(path = "/add",method = RequestMethod.GET)
        @GetMapping(path = "/add")
        @ResponseBody
        public String add1(String a, String b){
            String add = a+b;
            return "GET结果为:"+add;
        }
        

//     @RequestMapping(path = "/add",method = RequestMethod.POST)
        @PostMapping(path = "/add")
        @ResponseBody
        public String add2(String a, String b){
            String add = a+b;
            return "POST结果为:"+add;
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

创建一个表单模拟传统方式POST请求:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
        <form action="http://127.0.0.1:8080/add" method="post" >
            <input type="text" name="a">
            <input type="text" name="b">
            <input type="submit">
        </form>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

今日的余晖和你最后那天给我的拥抱,同一个温度。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/516411
推荐阅读
相关标签
  

闽ICP备14008679号