【发布时间】:2016-11-26 12:39:06
【问题描述】:
弹簧休息没有返回任何响应的奇怪问题。我尝试过使用带有@RestController 注释的spring boot。
根据文档,它包括 @ResponseBody 和 @controller 但是,在客户端上,响应仍为 xhr(pending)
我不确定是什么问题。看起来很简单,但我说很糟糕。
@RestController
public class MyUserController {
@Autowired
private UserService userService;
@RequestMapping(path = "/registration", method = RequestMethod.POST)
public ResponseEntity registration(@RequestBody User userBean) throws Exception {
HttpHeaders headers = new HttpHeaders();
if (userService.isUserExist(userBean)) {
System.out.println("user already exists");
return new ResponseEntity(headers, HttpStatus.CONFLICT);
} else {
userService.saveUser(userBean);
return new ResponseEntity(headers, HttpStatus.OK);
}
}
}
客户端javascript(node js)发送ajax请求:
var express = require('express');
app.post('/registration', registration);
function registration(req, res, next){
request({
url:'http://localhost:8084/RootScopeIT_Riot/registration',
method:'POST',
json: {
"username": req.body.username, "password": req.body.password
},
function(error, response, body){
if(error){
console.log('err while registration');
return res.send(error);
}else{
console.log('success registration');
return res.send({body});
}
}
});
}
【问题讨论】:
-
你的
Userbean 是什么样子的?字段名称是否匹配以产生有效的RequestBody? -
@DanielBubenheim 刚刚修复了它。谢谢
-
很高兴听到。最后是什么问题?
-
@DanielBubenheim 是 nodejs
request库导致了这个问题 -
好的。感谢分享!
标签: java spring spring-boot spring-rest