ノード+エクスプレスサーバーからArangodbのFoxxサービスへのポストリクエストを送信しようとしています。ノード側でノードからFoxxサービス(ArangoDB)へのHTTPポストリクエストの送信
:フォックス側で
var route = arangopi + '/edge/' + col.name ;
var body = {data: data, from: fromId, to: toId} ;
console.log('|| body :', route, body) ;
>> || body : http//XXX/_db/my-DB/my-foxx-service/path/to/visitedBy { data: { isBackup: true, text: '', isHint: true, continuance: 3441.5 }, from: 'Drop/27237133', to: 'Bot/41116378' }
return requestify.post (route, body)
、私は要求を受け取るが、ログが私に言うことは何も身体を持っていません:ノード側
router.post('/path/to/:param', function (req, res) {
console.log ('|| body :', req.body)
var data = req.body ;
var result = api.DoSomething (req.stateParams.param, data)
res.send(result)
})
.response(joi.object().required(), 'Entry stored in the collection.')
.summary('Summary')
.description('Description')
>> || body : [Object { "binarySlice" : function binarySlice() { [native code] }, "asciiSlice" : function asciiSlice() { [native code] }, "base64Slice" : function base64Slice() { [native code] }, "ucs2Slice" : function ucs2Slice() { [native code] }, "hexSlice" : f...
私も試してみました'要求'モジュール。
return request.post(route, {form:body}, function (error, response, body) {
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log('body:', body);
return response ;
});
そして、私はFoxxから同じログを取得します。
どうすればいいですか?
ここは、Foxxインターフェイスでの私の操作のスクリーンショットです。テスト用のリクエスト本体を指定できないのは正常ですか?
あなたはNode.jsの側からこれを試してみました: 'リターンrequestify.post(ルート、JSON.stringify(ボディ));私はこれを試してみました' –
@DavidThomasのおかげで、それdid not work – user6403833
Foxx側では、req.bodyでJSON.stringifyまたはJSON.parseを試してみてください。また、[request](https://github.com/request/request)モジュールを試してみてください。これを使ってnode.jsからFoxxサービスを呼び出す際に問題はなく、うまくいきます。 –