1,前置知识点
1.1 @GetMapping,@PostMapping,@PutMapping,@DeleteMapping
平时我们都是使用@RequestMapping,然后通过它的method属性来指定请求的方式,这样是有些麻烦的,然后这四个标签就是来简化这一点的,具体如下,
@GetMapping = @RequestMapping(method = RequestMethod.GET)
@PostMapping = @RequestMapping(method = RequestMethod.POST)
@PutMapping = @RequestMapping(method = RequestMethod.PUT)
@DeleteMapping = @RequestMapping(method = RequestMethod.DELETE)
1.2 @PathVariable
@PathVariable是Spring MVC中的注解,用于从URL路径中提取变量值并将其绑定到方法参数上。它通常与@RequestMapping一起使用。
使用@PathVariable注解可以方便地获取REST风格URL路径中的变量值,并将其作为方法参数使用。
java
@GetMapping("/{id}")
public String getById(@PathVariable Integer id){
System.out.println("book query ..." + id );
return "{'module':'book query'}";
}
在getUserById方法上,我们使用@GetMapping("/{id}")将方法与URL路径/books/{id}进行映射。{id}表示一个占位符,它对应URL路径中的实际值。
然后,我们在方法参数上使用@PathVariable注解,将id参数与URL路径中的实际值进行绑定。Spring MVC会自动提取URL路径中的相应部分,并将其作为参数传递给getUserById方法。
例如,当客户端发送GET请求到/books/1时,Spring MVC将提取URL中的1作为id参数的值,并将其传递给getById方法。在方法内部,我们可以使用id来执行相应的逻辑操作,比如根据用户ID查询用户信息。
1.3 按照REST风格访问资源时,使用行为动作区分对资源进行了何种操作
http://localhost:8080/books 查询所有图书信息 GET(查询)
http://localhost:8080/books/1 查询指定图书信息 GET(查询)
http://localhost:8080/books 添加图书信息 POST(新增/保存)
http://127.0.0.1:8080/books 修改用户信息 PUT(修改/更新)
http://localhost:8080/books/1 删除用户信息 DELETE(删除)
2,代码演示
controller类
java
package com.hkd.controller;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/books")
public class BookController {
@GetMapping
public String query(){
System.out.println("book query..." );
return "{'module':'book query'}";
}
@PostMapping
public String save(){
System.out.println("book save..." );
return "{'module':'book save'}";
}
@PutMapping
public String update(){
System.out.println("book update..." );
return "{'module':'book update'}";
}
@DeleteMapping("/{id}")
public String update(@PathVariable Integer id){
System.out.println("book delete ..." + id );
return "{'module':'book delete'}";
}
@GetMapping("/{id}")
public String getById(@PathVariable Integer id){
System.out.println("book query ..." + id );
return "{'module':'book query'}";
}
}
使用postman测试
以查询所有和删除为例演示
查询所有
删除图书
...