@RequestBody
@RequestBody注解一般与post方法使用。
一个请求中只能存在一个@RequestBody注解。
@RequestBody 用于接收前端传递给后端的json字符串中的数据。(处理json格式的数据)
语法格式:
?(@RequestBody Map map)
(@RequestBody Object object)
(1)(@RequestBody Map map)方式:
这种方式相对来说比较简单,我们将json解析成Map形式的key-value键值对,通过map.get(“Key”)就可以拿到值。
(2)(@RequestBody Object object)方式:
通过json字符串中的key来匹配对应实体类的属性,如果匹配一致且json中的该key对应的值符合实体类的对应属性的类型要求时,会调用实体类的setter方法将值注入到该属性。
代码样例:
?public Result deleteBookById(@RequestBody HashMap<String, String> map) {
bookService.deleteBookById(Long.parseLong(map.get("id")));
return Result.createWithSuccessMessage();
}
public Result updateBookById(@RequestBody Book book){
Book record = bookService.updateBookById(book);
return Result.createWithModel(record);
}