Spring MVC学习03

1. 什么是Restful风格

Restful风格是浏览器通过url向服务器请求资源的时候,url设置的一种风格。

没有学习使用Restful风格之前,我们发送的请求可能是通过url里的键值对 localhost:8080?key=value 或者请求体之中的参数将参数发送给服务器。

学习了Restful风格之后,我们请求的url之中某一部分就可以代表一个参数,在这个位置添加上参数之后,服务器解析url就可以获取前端上传的参数,如 localhost:8080/value。

2. 使用Restful风格的好处

  1. url变得更加简洁而且高效
  2. 请求变得更具有安全性

3. 怎么将一个非Restful风格的Controller转变为Restful风格的

非Restful风格的Contoller类(要记得在参数前加上注解@RequestParam,否则会500):

    @RequestMapping("/add"})
    public String notRestful(@RequestParam("a") int a, @RequestParam("b") int b, Model m) {
        m.addAttribute("result", "a + b结果为:" + (a + b));

        return "result";
    }

此时的请求为:localhost:8081/add?a=1&b=2

有两种方式来将一个非Restful风格的Controller类转变为Restful风格的。

  1. 使用@RequestMapping,RequestMapping的注解之中有两个参数需要设置,第一个是path,用来匹配url的,第二个是method,用来限制接受的请求类型。(参数前要加上@PathVariable注解,和@RequestParam一样,不加就会500)
    @RequestMapping(path="/add/{a}/{b}", method = RequestMethod.GET)
    public String restful1(@PathVariable("a") int a, @PathVariable("b") int b, Model model) {
        model.addAttribute("result", "a + b结果为:" + (a + b));

        return "result";
    }

此时的请求为:localhost:8081/add/1/2

  1. 使用@GetMapping,对应着设置了限制Get请求的RequestMapping
    @GetMapping("/add/{a}/{b}")
    public String restful1(@PathVariable("a") int a, @PathVariable("b") int b, Model model) {
        model.addAttribute("result", "a + b结果为:" + (a + b));

        return "result";
    }

此时的请求为:localhost:8081/add/1/2

0
所有评论 0