[英]Send JSON and FormData (Angular to Spring)
Angular
register(usuario:any, id: File): Observable<any>{
let formData = new FormData();
formData.append("user", JSON.stringify({username:'Userr'}));
formData.append("file", id);
return this.http.post(AUTH_API + 'signup', formData);
CODE在此处输入图像描述
SPRING
@PostMapping(value = "/signup")
public ResponseEntity<?> registerUser( @RequestParam SignupRequest user,
@RequestParam("file") MultipartFile archivo) {
System.out.println(archivo.getSize());
System.out.println(user.getUsername());
}
错误2021-01-02 16:50:55.397 WARN 15076 --- [nio-8080-exec-1].wsmsDefaultHandlerExceptionResolver:已解决 [org.springframework.web.method.annotation.MethodArgumentConversionNotSupportedException:
无法将“java.lang.String”类型的值转换为所需的“SignupRequest”类型;
嵌套异常是 java.lang.IllegalStateException:无法将类型“java.lang.String”的值转换为所需类型“com.AreMyNews.Request.SignupRequest”:找不到匹配的编辑器或转换策略]
对 SignupRequest 用户使用 @ModelAttribute 而不是 @RequestParam。
PostMapping(value = "/signup")
public ResponseEntity<?> registerUser( @ModelAttribute SignupRequest user,
@RequestParam("file") MultipartFile archivo) {
System.out.println(archivo.getSize());
System.out.println(user.getUsername());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.