首先理解两个注解:
-
@RequestBody 注解
@RequestBody是用于解析body中的 json 内容。 -
@RequestParam 注解
@RequestParam直接用于读取url请求中带的参数,或者使用表单提交的参数。
-
简单的参数传值时
@PostMapping("/test") //@RequestParam注解可去掉,前端传值可以放在formData里也可放在url上 public Result<User> test(MultipartFile file, @RequestParam String str) { System.out.println(str); System.out.println(file.getOriginalFilename()); return null; }
-
多参数传值时
@PostMapping("/test") //此处不加任何注解,前端传值可以放在formData里也可放在url上 public Result<User> test(MultipartFile file, BaseUser user) { System.out.println(user.getUserName()); System.out.println(file.getOriginalFilename()); return null; }
-
多参数传值时
@PostMapping("/test") //使用对象接收,不加注解。与2一样,只是多包了一层。 public Result<User> test(BaseUserVo vo) { System.out.println(vo.getUser().getUserName()); System.out.println(vo.getFile().getOriginalFilename()); return null; }