RESTify auf Node.js POST-Text / json
Ich bin in der Notwendigkeit helfen. Ich bin Entsendung json-Daten zu meiner node-server. Der Knoten server RESTify für die API. Ich bin mit Mühe req.body.name
aus dem Körper der eingestellten Daten.
Gebucht-Daten enthält ein json-Körper. In ihm habe ich die Schlüssel, wie name, Datum, Adresse, email, etc.
Ich möchte den Namen aus dem json-Körper. Ich bin versucht zu tun req.body.name
aber es funktioniert nicht.
Ich habe auch server.use(restify.bodyParser());
und es funktioniert nicht.
Ich bin in der Lage zu req.params.name
und einen Wert zuweisen. Aber wenn ich POST json-Daten wie: {'food': 'ice cream', 'drink' : 'coke'}
ich bin immer undefined. Allerdings, Wenn ich req.body
bekomme ich die vollständigen json-body gepostet. Ich möchte in der Lage sein, gezielt ein item bekommen wie "trinken" und haben die show auf der Konsole.log.
var restify = require('restify');
var server = restify.createServer({
name: 'Hello World!',
version: '1.0.0'
});
server.use(restify.acceptParser(server.acceptable));
server.use(restify.jsonp());
server.use(restify.bodyParser({ mapParams: false }));
server.post('/locations/:name', function(req, res, next){
var name_value = req.params.name;
res.contentType = 'json';
console.log(req.params.name_value);
console.log(req.body.test);
});
server.listen(8080, function () {
console.log('%s listening at %s', server.name, server.url);
});
- was ist der Wert von
req.body.test
? - wenn das ist der Fall, sollten Sie sich bewerben
Content-Type: application/json
auf Anfrage-Headern, so restify können dies automatisch. - Sie sollte hinzufügen, dass als eine Antwort, so dass ich upvote es. Funktioniert wie ein Charme.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie verwenden möchten
req.params
sollten Sie ändern:verwenden true:
Haben Sie versucht, mit dem standard-JSON-Bibliothek zum Parsen der Körper als json-Objekt? Dann sollten Sie in der Lage sein zu nehmen, was Immobilie, die Sie brauchen.
Zusätzlich zu den unten beantworten . Die neueste syntax in restify 5.0 wurde, ändern .
Alle parser, die du suchst, ist innerhalb
restify.plugins
stattrestify
verwendenrestify.plugins.bodyParser
Die Methode, es zu benutzen ist.
restify.plugins
.müssen Sie verwenden, erf.params mit bodyParser aktiv.
... Ist was für mich gearbeitet mit restify version 8.3.2