繁体   English   中英

发送 JSON 和 FormData (Angular to Spring)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM