Métodos e Parâmetros HTTP

Node JS

Métodos e Parâmetros HTTP

Se você trabalha com programação Web, já deve ter ouvido sobre os métodos HTTP e hoje iremos explicar o que é cada um e o seu melhor uso.

O protocolo HTTP define uma série de métodos de requisição que são responsáveis por informar ação a ser executada para algum recurso, esses métodos são também chamados de verbos. E eles são são: Get, Post, Put/Patch, Delete e alguns podem receber parâmetros ou não.

Parâmetros Http

Existem três tipos de parâmetros principais e eles são:

Query Params: Nós vamos utilizar principalmente para filtros e paginação, por exemplo no momento de retornar uma listagem que possui um filtro.

http://localhost:3333/cars?name=Mustang

Route Params: É utilizado para atualizar um recurso ou deletar um recurso em nossa aplicação.

http://localhost:3333/cars/1

Body Params: São os dados do corpo da requisição em formato json.

{
	'name': 'Evoque',
	'model': 'SUV'
}

Para os exemplos abaixo iremos criar uma variável para armazenar os projetos e o plugin uuidv4 para gerar um id único.

const { uuidv4, uuid } = require('uuidv4');

const cars = [];

Get: É o método mais famoso ele é utilizado quando queremos buscar informações do back-end;

app.get('/cars', (request, response) => {
  return response.send(results);
});

Post: É utilizado para criar uma informação no back-end;

app.post('/cars', (request, response) => {
  const { name, model } = request.body;
  const car = { id: uuid(), name, model };

  cars.push(car);

  return response.send(cars);
});

Put/Patch: É utilizado para alterar uma informação ou todas as informações de um recurso no back-end;

app.put('/cars/:id', (request, response) => {
  const { id } = request.params;
  const { name, model } = request.body;

  const carIndex = cars.findIndex(car => car.id === id);
  if (carIndex < 0) {
    return response
      .status(400)
      .json({ error: 'Car not found.' });
  }

  const car = {
    id,
    name,
    model
  }

  cars[carIndex] = car;
  return response.send(car);
});

Delete: É utilizado quando precisamos deletar algum recurso no back-end;

app.delete('/cars/:id', (request, response) => {
  const { id } = request.params;

  const carIndex = cars.findIndex(car => car.id === id);
  if (carIndex < 0) {
    return response
      .status(400)
      .json({ error: 'Car not found.' });
  }

  cars.splice(carIndex, 1);
  return response.json({ message: 'car deleted.' });
});

Espero que este post possa te ajudar a entender melhor os métodos e o tipos de parâmetros utilizados em requisições HTTP.

Caso tenha gostado desse post, não deixe de compartilhar e acessar outros posts relacionados na sessão NodeJs do blog.

Explore mais