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.
Schreibe einen Kommentar