Java 将@RequestBody从节点js发送到Spring引导Rest API
在花了半天多的时间后,仍然无法确定以下问题的症结所在: 试图从NodeJSto-springrestapi发送表单数据 节点JS:Java 将@RequestBody从节点js发送到Spring引导Rest API,java,node.js,spring-boot,spring-rest,Java,Node.js,Spring Boot,Spring Rest,在花了半天多的时间后,仍然无法确定以下问题的症结所在: 试图从NodeJSto-springrestapi发送表单数据 节点JS: var inputData = { base : req.body.base, test : req.body.test } var queryParams = { host: '127.0.0.1', port: 8080, path: '/start', method: 'POST
var inputData = { base : req.body.base, test : req.body.test }
var queryParams = {
host: '127.0.0.1',
port: 8080,
path: '/start',
method: 'POST',
headers: {'Content-type': 'application/json'},
body: inputData //Used JSON.stringify(inputData) - didn't work
};
使用http模块发送请求:
var req = http.request(queryParams, function(res) {
//do something with response
});
req.end();
春假:
@RequestMapping(value = "/start", method = RequestMethod.POST, consumes = "application/json")
@ResponseBody
public String startApp(@RequestBody String body) {
System.out.println(body);
return "{\"msg\":\"Success\"}";
}
使用邮递员,我可以在其余部分看到相同的输入数据。但当从NodeJS发送时,我看到的只是
{
timestamp: 1506987022646,
status: 400,
error: 'Bad Request',
exception: 'org.springframework.http.converter.HttpMessageNotReadableException',
message: 'Required request body is missing: public java.lang.String ApplicationController.startApp(java.lang.String)',
path: '/start'
}
在maven中使用springbootstarter父级
我有什么遗漏吗?如有任何建议,将不胜感激 我认为您将请求主体放入
查询参数中不会起作用。
您可以尝试使用req.write()
将数据写入请求正文,如下所示:
...
req.write(inputData);
req.end();
...