A√ļn no tienes acceso a esta clase

Crea una cuenta y contin√ļa viendo este curso

PUT, PATCH y DELETE

11/25
Recursos

Aportes 12

Preguntas 4

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi√≥n.

Muy did√°ctico el curso hasta aqui. Me parece muy bueno el desarrollo.

Cree el de usuarios y categorías siguiendo el mismo ejemplo que productos dejo mi ejemplo de usuarios

const express = require('express');
const faker = require('faker');
const router = express.Router();

READ users

router.get('/', (req, res) => {
  const users = [];
  const {size} = req.query;
  const limit = size || 10;
  for (let i = 0; i < limit; i++) {
    users.push({
      name: faker.name.firstName(),
      lastName: faker.name.lastName(),
      image: faker.image.imageUrl(),
    });
  }
  res.json(users);
});

READ user

router.get('/:id', (req, res) => {
  const { id } = req.params;

  res.json({
    id,
    name: faker.name.firstName(),
    lastName: faker.name.lastName(),
    image: faker.image.imageUrl(),
  });
});

CREATE

router.post('/', (req, res) => {
  const body = req.body;
  res.json({
    message: 'Creation',
    data: body
  });
});

UPDATE

router.patch('/:id', (req, res) => {
  const { id } = req.params;
  const body = req.body;
  res.json({
    message: 'Update',
    data: body,
    id
  });
});

DELETE

router.delete('/:id', (req, res) => {
  const { id } = req.params;
  res.json({
    message: 'deleted element',
    id
  });
});

module.exports = router;

El profe Nicol√°s es muy buen docente y te permite aprender de forma did√°ctica estos temas que a veces pueden resultar un poco abstractos

RESUMEN:

PUT requiere enviar una representación completa del recurso que se está modificando, se debe implementar de forma idempotente y es adecuado para situaciones en las que una aplicación debe asegurarse que el estado final del recurso será idéntica a la que envía.

PATCH es adecuado para hacer modificaciones parciales, o para enviar un conjunto de instrucciones en lugar del resultado final.

DELETE no requiere de un formato en especial solo con el identificador para borrar un recurso en especifico.

Les recomiendo leer su propio código al retomar las clases!
Al menos yo no lo hacía y ahora comencé a hacerlo. No sólo se entienden más cosas, es como una inmersión previa para aprender nuevamente!

La destructuracion es bastante poderosa. En el minuto: 2:58 en vez de hacerlo asi.

const { id } = req.params;
const body = req.body;

Lo hice de esta manera

  const { body, params: { id } } = req;

Y el body y el id se pueden reutilizar de la misma manera, me parece bastante util que se puedan destructurar objectos mas complejos dentro de otros.

La verdad este es uno de los cursos que mas me ha gustado muy organizado

Muy bien al utilizar el pat, pach y delete! muy buen video.

Usando lo aprendido:

.
Categories

const categoriesData = [
  'Sports',
  'Books',
  'Computing',
  'Consoles and Videogames',
  'Beauty and Personal Care',
  'Children and Baby Toys',
];

GET

router.get('/', (req, res) => {
  const categories = [];
  for (let i = 0; i < categoriesData.length; i++) {
    categories.push({
      categoryName: categoriesData[i],
    });
  }
  res.json(categories);
});

CREATE

router.post('/', (req, res) => {
  const body = req.body;
  res.json({
    message: 'created',
    data: body,
  });
});

UPDATE (PATCH)

router.patch('/:id', (req, res) => {
  const { id } = req.params;
  const body = req.body;
  res.json({
    message: 'update',
    data: body,
    id,
  });
});


DELETE

router.delete('/:id', (req, res) => {
  const { id } = req.params;
  res.json({
    message: 'deleted',
    id,
  });
});

module.exports = router;

excelente curso

CRUD API

//Obtiene todo los productos
router.get('/',(req,res)=>{
  const products =[];
  const {size}= req.query;
  const limit=size||10;
  for (let index = 0; index < limit; index++) {
    products.push({
      name:faker.commerce.productName(),
      price: parseInt(faker.commerce.price(),10),
      image: faker.image.imageUrl()
    });

  }
  res.json(products);
});

//Guardar producto nuevo
router.post('/', (req,res)=>{
  const body = req.body;
  res.json({
    message: 'created',
    data:body
  });
});

//Actualiza producto
router.patch('/:id', (req,res)=>{
  const {id}=req.params;
  const body = req.body;
  res.json({
    message: 'Update',
    data:body,
    id
  });
});

//Elimina producto
router.delete('/:id', (req,res)=>{
  const {id}=req.params;
  res.json({
    message: 'Deleted',
    id
  });
});
{
    "message": "Update",
    "data": {
        "name": "Change nuevo Product"
    },
    "id": "122"
}