Express: Req.body no está definido después de POST req

Soy nuevo en el nodo JS. Estoy recibiendo indefinido para la solicitud de correos. Mi versión expresa es 4.10. Creo que me estoy perdiendo algo.

var express = require('express'); var http = require('http'); var app = express(); app.use(express.static(__dirname + '/public')); var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({extended: true})); app.use(bodyParser.json()); app.post('/test',function(req,res){ var color1 = req.body.color; console.log(req.headers); console.log("Color : "+color1); }); 

En contenido de longitud estoy obteniendo 234. introduzca la descripción de la imagen aquí ¡¡Gracias!!

Para futuros visitantes: parece que la sugerencia de @mscdex llevó a @Rahul a cambiar el cliente que llama a su API para que pase a application/json como el valor para el encabezado Content-Type . Otra opción es cambiar el encabezado Content-Type que body-parser intenta analizar.

Puede configurar body-parser para aceptar un tipo de Content-Type diferente especificando el type que acepta de la siguiente manera:

 app.use(bodyParser.json({ type: 'application/vnd.api+json' })); 

Esta es la solución que me funcionó para analizar el JSON enviado desde una aplicación de Ember. Sentí que era mejor cambiar el encabezado de Content-Type predeterminado aceptado por body-parser que cambiar el rest de herramientas alrededor de mi aplicación.