SpringMVC —— RESTful入门

RESTful入门案例

  1、设定http请求动作(动词)

    @RequestMapping(value = "/users",method = RequestMethod.POST)
    @ResponseBody
    public String save(){
        System.out.println("user save..." );
        return "{'module':'user save and add'}";
    }

    @RequestMapping(value = "/users/{id}",method = RequestMethod.DELETE)
    @ResponseBody
    public String delete(@PathVariable Integer id){
        System.out.println("user delete..." + id);
        return "{'module':'user delete'}";
    }

  2、设定请求参数(路径变量)

  

    @RequestMapping(value = "/users/{id}",method = RequestMethod.DELETE)
    @ResponseBody
    public String delete(@PathVariable Integer id){
        System.out.println("user delete..." + id);
        return "{'module':'user delete'}";
    }

 

注解

  

  

@RequestBody @RequestParam @PathVariable 区别

  • 区别
    • @RequestParam用于接收url地址传参或表单传参
    • @RequestBody用于接收json数据
    • @PathVariable用于接收路径参数,使用{参数名称}描述路径参数
  • 应用
    • 后期开发中,发送请求参数超过1万个时,以json格式为主,@RequestBody应用广泛
    • 如果发送非json格式数据,选用@RequestParam接收请求参数
    • 采用RESTful进行开发,当参数数量较少时,例如1个,可以采用@PathVariable接收请求路径变量,通常用于传递id值

 

RESTful快速开发

@RestController
@RequestMapping("books")
public class BookController {
    @PostMapping
    public String save(){
        System.out.println("book save..." );
        return "{'module':'book save and add'}";
    }

    @DeleteMapping("/{id}")
    public String delete(@PathVariable Integer id){
        System.out.println("book delete..." + id);
        return "{'module':'book delete'}";
    }

    @PutMapping
    public String update(@RequestBody Book book){
        System.out.println("book update..." + book);
        return "{'module':'book update'}";
    }

    @GetMapping("/{id}")
    public String getById(@PathVariable Integer id){
        System.out.println("book getById..." + id);
        return "{'module':'book getById'}";
    }

    @GetMapping
    public String getByAll(){
        System.out.println("book getByAll...");
        return "{'module':'book getByAll'}";
    }
}

  注解

    

  

 

posted @ 2022-12-06 23:20  风陵南  阅读(33)  评论(0)    收藏  举报