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.
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