En breve; body-parser extrae la parte completa del cuerpo de una secuencia de solicitud entrante y la expone en req.body
como algo más fácil de interactuar. No lo necesitas per se, porque puedes hacer todo eso tú mismo. Sin embargo, lo más probable es que haga lo que quiera y le ahorrará el problema.
Para ir un poco más en profundidad; body-parser le proporciona un middleware que utiliza nodejs / zlib para descomprimir los datos de la solicitud entrante si está comprimido y stream-utils / raw-body para esperar el contenido completo y sin procesar del cuerpo de la solicitud antes de “analizarlo” (esto significa que si no ibas a usar el cuerpo de la solicitud, solo perdiste algo de tiempo).
Después de tener el contenido en bruto, body-parser lo analizará utilizando una de las cuatro estrategias, dependiendo del middleware específico que haya decidido utilizar:
- ¿Por qué es tan importante PHP?
- ¿Cómo filtran los filtros web cada página web?
- ¿Por qué debería crear una página 404 personalizada para un sitio web?
- ¿Qué es Mongrel2 en términos simples?
- Si alguien ve todos los cursos de video del sitio Treehouse relacionados con el desarrollo web, ¿puede aprender lo suficiente en un año para poder solicitar un trabajo de desarrollador web con plena confianza en su conocimiento?
- bodyParser.raw (): en realidad no analiza el cuerpo, sino que simplemente expone el contenido almacenado anteriormente de un Buffer en
req.body
. - bodyParser.text (): lee el búfer como texto sin formato y expone la cadena resultante en
req.body
. - bodyParser.urlencoded (): analiza el texto como datos codificados en URL (que es cómo los navegadores tienden a enviar datos de formularios desde formularios regulares establecidos en POST) y expone el objeto resultante (que contiene las claves y los valores) en
req.body
. Para comparacion; en PHP todo esto se hace automáticamente y se expone en$_POST
. - bodyParser.json (): analiza el texto como JSON y expone el objeto resultante en
req.body
.
Solo después de configurar req.body
con los contenidos deseables, llamará al siguiente middleware en la pila, que luego puede acceder a los datos de la solicitud sin tener que pensar en cómo descomprimirlo y analizarlo.