我尝试将此post对象发送到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)))
}
}
我可以通过控制台看到它发送以下信息:
找出问题所在,但React向我发送了另一个对象:(Spring不喜欢)
{registerDTO={name=w, dsurname=wd, age=3, sex=MALE, role=USER, email=ijwd@wdmiwd.it, password=wdkledml}}
与 Postman 我得到这个和一切工作:
{name=edfew, surname=feefewe, email=eeffe@gmail.com, password=efefefe, age=23, sex=MALE, role=USER}
有人知道怎么修吗
1条答案
按热度按时间pepwfjgg1#
看起来您返回的是console.log的结果,而不是.json()函数的promise。您需要从.json()函数返回promise。