1.首先介绍@RequestBody注解的基本功能?
@RequestBody注解最主要的功能是,将前端传递json数据中key对应的value值封装进,@RequestBody注解后面所表示的类,或者是其他数据数据类型。
2.其次介绍以不同方式接受Json数据?
1 @PostMapping("getUser1") 2 public User1 getUser11(@RequestBody User1 user1){ 3 return user1; 4 }
2.1使用实体类来接受json数据。
1 @PostMapping("getUser2") 2 public String getUser111(@RequestBody String user1){ 3 4 return user1; 5 }
2.2使用string字符串来接受json数据。
1 @Controller 2 @ResponseBody 3 public class TeamController { 4 5 @PostMapping("team") 6 public Team getTeam(@RequestBody Team team){ 7 8 System.out.println ("请求成功" ); 9 return team; 10 }
2.3以复杂对象接受前端传递的json数据。
3.当@RequestBody注解与@RequestParam注解一起使用时的注意事项。
3.1@RequestBody与@RequstParam一起使用的情况
1 @PostMapping("team1") 2 public Team getTeam1(@RequestBody Team team , @RequestParam("token")String token){ 3 4 System.out.println ("请求成功" ); 5 System.out.println ("team信息:"+team ); 6 System.out.println ("token信息:"+token ); 7 return team; 8 }
3.2@RequestBody与复杂@RequestParam使用的情况。
4.最后介绍前端传递的json数据封装进后台模型中的底层实现。
参见下面的链接
最后最后,总结原理:
参见下面的链接
结论1:@JsonAlias注解,实现json转模型时,能够使特定的key转成模型属性,但是模型转换后的key仍然与属性名一致,
@JsonAlias(value={“Name”,"name123"})
private String name;
此时,json字符串转换为模型时,json中key为Name或者是name123都能识别。
结论2:@JsonProperty注解,实现json转模型时,使json中的特定key 能转换为指定的模型属性,同样的,模型转json时,对应的转换后的key为指定的key,.
学习笔记参考链接地址:
https://blog.csdn.net/justry_deng/article/details/80972817