Conocer y comprender cómo se realizan las conexiones hacia los servidores a través de internet y sus implicaciones en el desarrollo de servidores

1

Bienvenida y presentación del curso

2

Qué es Node y cómo instalarlo

3

¿Qué son y cómo se usan las peticiones HTTP?

4

Métodos, cabeceras y estados

5

Cuerpo y query de la petición

Crear un servidor HTTP en Javascript, y comenzar a escuchar y responder peticiones desde un cliente .

6

Crear un servidor HTTP desde NodeJS

7

¿Cómo pueden venir las peticiones?

8

Recibir información desde el cliente: Body y Query

9

Información contextual: Leer las cabeceras

10

Tipos de respuesta: Vacía, plana, con datos y estructurada

11

Respuestas coherentes

12

Servir archivos estáticos

13

Errores: Cómo presentarlos e implicaciones en la seguridad

Comprender y desarrollar la arquitectura básica de un backend en NodeJS, y comunicarse entre módulos

14

Conceptualmente: Rutas, controladores y bases de datos

15

Rutas y capa de red: Responsabilidades y límites

16

Controladores: Definiendo la lógica de negocio

17

Almacenando la información en una base de datos

Utilizar una base de datos para definir, modelar, almacenar y recuperar la información de nuestra aplicación

18

Tipos de Bases de Datos: Relacionales y No Relacionales

19

Crear y Configurar tu Base de Datos con MongoDB

20

MongoDB: Almacenar y leer datos

21

MongoDB: Actualizar datos

22

MongoDB: Consultar datos

23

MongoDB: Eliminar Datos

24

Gestionar conexiones a la base de datos desde la API

Uso de entidades para crear aplicaciones escalables

25

Escalando la arquitectura: Múltiples entidades

26

Relacionando nuestras entidades

27

Cómo recibir ficheros desde NodeJS

28

Guardar el fichero en el servidor

Conocer el protocolo de websockets, e implementar comunicación cliente/servidor con SocketIO.

29

WebSockets: Qué son, por qué son interesantes y cómo usarlos

30

Manejo de Websockets con NodeJS

31

Conectar la API al servidor de WebSockets

Revisión de lo aprendido, y próximos pasos

32

Revisión y próximos pasos

33

Tips para escalar nuestro proyecto

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Tipos de respuesta: Vacía, plana, con datos y estructurada

10/33
Recursos

Aportes 27

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Con cada paso estoy mas cerca del Mern Stack 😎😎

Muy bien explicado Carlos, para los que estamos de cero con NODE JS esta genial. Gracias 😃

res.send();  //vacia
res.status(201).send('Hola ' + req.body.name);  //plana
res.status(201).send({    //Estructurada - array, objetos
        error: '',
        body: 'Creado correctamente'
    });

Tipos de respuestas

Hay distintos tipos de respuestas.

  • Vacias
    Estas como se indica estan vacias y no retornaran nada en el cuerpo
  • Planas
    Es escribir hardcode directamente
  • Con datos
  • Estructuradas
    Es de volver a manera de arrays u objetos.

De esta manera podemos trabajar con los codigos de status que queramos, con respuestas vacias, podemos mandar un mensaje, o un array u objeto.

Estas son todas las formas de enviar una respuesta desde el servidor hacia el cliente.

No estoy seguro, pero dividí mi proyecto de la siguiente manera:

- /admin
	-/routes
		adminRoutes.js
- /node_modules
package-lock.json
package.json
server.js

Y el código quedo así

<server.js />

const adminRoutes = require('./admin/routes/adminRoutes');

adminRoutes.listen(3000);
console.log('Todo OK')

<adminRoutes.js />
const express = require('express');
const bodyParser = require('body-parser');
const router = express.Router();

var adminRoutes = express();
adminRoutes.use(bodyParser.json());
adminRoutes.use(router);


router.get('/message', function(req, res){
    console.log(req.headers);
    res.header({
        'prueba': 'prueba'
    });
    res.send('Lista de mensajes');
});

router.delete('/message', function(req, res){
    console.log(req.query);
    console.log(req.body);
    res.send(`Mensaje ${req.body.text} eliminado correctamente`);
});


module.exports = adminRoutes;

Si alguien lee esto, me podrían decir que tal esta?

Es muy importante dar un tipo de respuesta, ya que permite que el frontend (cliente) reciba esta respuesta para si pintarla en el proyecto ya sea un error o un mensaje dependiendo de la peticion… 😃 😄

router.post('/message', (req, res) => {
    console.log(req.query);
    console.log(req.body);
    res.status(201).send([{error: '', body: 'creado correctamente'}]);
    // res.send(`Mensaje ${req.body.text} añadido correctamente`);
});

“Ahora vamos a ponerle un poco de sentido a todo esto porque estamos devolviendo cualquier cosa y de esta forma es muy difícil tener un protocolo de comunicación.”

Mi código!

const express = require('express');
const bodyParser = require('body-parser');
const router = express.Router();

var app =  express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false }));
app.use(router);

app.get('/headers', (req, res) => {
    console.table(req.headers)
    res.header({
        'custom-header' : 'Valore personalizado para el cliente'
    })
    res.send(req.headers);
});
app.post('/pruebas', (req, res) => {
    console.log(req.query);
    console.log(req.body);
    res.send('Datos regresados '+ req.body.text +' correctamente');
});
app.post('/', (req, res) => {
    res.send('Que ondas Soy tu primer petición con POST');
});

app.delete('/delete', (req, res) => {
    console.log(req.query);
    console.log(req.body);
    res.status(200).send([{
        'error': null,
        'body': 'Ejecutado correctamente!'
     }]);
});
app.listen(3000);
console.log('La aplicación esta escuchando en pueto:3000');

Para enviar una respuesta JSON, lo ideal es hacerlo conres.json()

Genial!! me encanta este curso!!

Cuando se accede a un servicio que en realidad no va a retornar nada, se puede retornar un status al igual que un objeto un array o texto plano.

res.status(2000).sed(AQUI VA EL OBJETO, ARRAY O TEXTO PLANO);

Me encanta, vamos bien

Todo bien hasta ahora !!
a un paso de ser Mevn Stack !!

Estupenda explicación instructor Carlos, queda claro cómo podremos retornar respuestas con el uso de res.status() y si queremos añadirle más información le agregamos la función .send() con los datos adicionales.

Tipos de respuesta! interesante concepto

Este profe explica super bien ojala en el futuro haga mas cursos

Pregunta de examen:
¿Se puede enviar sólo un código de estado 200 en la response?

router.post('/message',function(req,res){
    res.status(201).send(jsonRes(true,201,'Messaje wass create',{id:1213},'/message',req.body,METHODS.post));
});


function jsonRes(success,http_code,message,data,url,bodyReq,method){
    return {success:success,http_code:http_code,message:message,data:data,url:url,bodyReq:bodyReq,method:method}
}

const METHODS = {post:'post',delete:'delete',get:'get',put:'put'}

Felicidades muy buen curso

const express = require('express');
const router = express.Router();
const bodyParser = require('body-parser')

var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(router);

router.get('/message', function(req, res){
    console.log(req.headers);
    res.header({
        "custom-header": "Nuestro valor personalizado"
    })
    res.send('Lista de mensajes');
});

router.post('/message', function(req, res){
    console.log(req.body);
    console.log(req.query);
    res.status(201).send([{'error': '', 'body': 'Creado correctamente'}]);
});

app.listen(3000);
console.log('La aplicación esta escuchando en http://localhost:3000')```

Todo muy claro !!!

Me encanta, vamos bien

Excelente todo esto 😄

Excelente curso… Felicitaciones Carlos…

Adoro este curso.

Este men explica genial !!!