Sie könnten Rohr die Anfrage Strom stdout:
var http = require('http');
http.createServer(function (req, res) {
req.pipe(process.stdout);
}).listen(6000);
Update: Wenn der Körper enthält JSON und Sie wollen es deserialisiert dann könnte man einen String aus dem Stream Datenblöcke aufbauen und verwenden JSON.parse()
(Denken Sie daran, es in einen try/catch-Block zu setzen oder tryjson zu verwenden), oder Sie könnten eine getestete Lösung dafür verwenden - denn wenn Sie den JSON-Körper analysieren wollen, vermute ich, dass Sie möglicherweise mehr damit tun müssen.
Beispiel mit Express und Körper-Parser:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.use((req, res) => {
// req.body is deserialized body:
console.log(req.body);
});
app.listen(6000);
oder mit einer älteren Syntax:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use(function (req, res) {
// req.body is deserialized body:
console.log(req.body);
});
app.listen(6000);
Sie können es mit curl testen wie folgt aus:
curl -X POST -H 'Content-type: application/json' -d '{"a":1,"b":2}' localhost:6000
Er druckt :
{ a: 1, b: 2 }
und Sie können sehen, dass es durch das Fehlen von Anführungszeichen um die Objektschlüssel analysiert wird.
Natürlich können Sie Dinge wie req.body.someArray[3]
usw. verwenden - es ist vollständig geparst und nutzbar.
danke, wenn der Körper ein Json-Objekt enthalten, wie kann ich es deserialisieren? – SimCor
@SimCor Siehe die aktualisierte Antwort. – rsp