2017-06-04 105 views
2

如何集成node.js和java微服務。我可以從java spring mvc調用節點休息api,但無法將數據發佈到節點api。在節點項目中獲取請求對象中的空主體。從Java Spring MVC調用Node.Js Rest API(POST)

FYI:Node.js的(表達)-REST API(POST方法) Spring MVC的-REST -API(POST方法)

的Java:

String url = "localhost:3010/upload"; 
JSONObject jsonob1=new JSONObject(); jsonob1.put("upfile", file); 
jsonob1.put("ty", "ACT"); 
HashMap<String, String> header = getHeaderValues(uploadreq.getAuthToken(), "action"); 
status = getHttpClient.executePostRequest(url,jsonob1,header); 
LOGGER.debug("result {}", status); 

的NodeJS:

var express = require("express"); 
var router = express.Router(); 
router.post('/upload', function (req, res) { console.log(req); }); 
+0

請發佈您的代碼正在工作,您的代碼不是。 –

+0

String url =「http:// localhost:3010/upload」; JSONObject jsonob1 = new JSONObject(); jsonob1.put(「upfile」,file); \t jsonob1.put(「ty」,「ACT」); \t HashMap header = getHeaderValues(uploadreq.getAuthToken(),「action」); \t status = getHttpClient.executePostRequest(url,jsonob1,header); \t LOGGER.debug(「result {}」,status); –

+0

NodeJs- var express = require(「express」); var router = express.Router(); router.post('/ upload',function(req,res){ \t console.log(req); }); –

回答

0

請忽略它,由我自己解決,在nodejs端訪問req.body如下

var qs = require('querystring');if(req.method=='POST') { 
    var body=''; 
    req.on('data', function (data) { 
     body +=data; 
    }); 
    req.on('end',function(){ 
     var POST = qs.parse(body); 
     console.log(POST);`` 
    });}