【问题标题】:Trying to send an object to Spring boot via ReactJS尝试通过 ReactJS 将对象发送到 Spring boot
【发布时间】:2022-12-02 23:08:03
【问题描述】:

我正在尝试将此帖子对象发送到 spring boot,但我不断收到此错误:

Error: Required request body is missing: public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.String>> com.example.RegisterLogin.controller.RegisterController.registerHandler(java.lang.Object)

我不明白为什么。

这是我在 Java 中的代码:

   @PostMapping("/register")
    public ResponseEntity<Map<String,String>> registerHandler(@RequestBody Object registerDTO) {
        log.info("User: {}",registerDTO);
        return ResponseEntity.ok(registerService.saveUser((RegisterDTO) registerDTO));
    }

这是我在 reactjs 中的代码:

 export class RegisterService{
        save(user){
         console.log({ method: 'POST', headers: { accept: 'application/json', body: JSON.stringify({registerDTO: user})}})
       fetch('http://localhost:8080/api/auth/register', { method: 'POST', headers: { accept: 'application/json', body: JSON.stringify({registerDTO: user})}})
       .then(data => console.log(data.json())) // Parsing the data into a JavaScript object
       .then(json => alert(JSON.stringify(json))) 
       }
 }

我可以通过控制台看到它发送了这个:

【问题讨论】:

    标签: javascript reactjs spring spring-boot restful-url


    【解决方案1】:

    您似乎返回的是 console.log 的结果,而不是 .json() 函数的承诺。您需要从 .json() 函数返回承诺。

    .then(data => console.log(data.json()))
    
    //should become:
    
    .then(data => data.json())

    【讨论】:

    • 我做到了,但我在 Spring 中仍然遇到同样的错误
    猜你喜欢
    • 2017-02-09
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多