Conteúdo do Curso
Node.js Express: API & CLI Apps
2. Aplicações de Console
4. Desenvolver API REST
Node.js Express: API & CLI Apps
Implementando a Rota "DELETAR POST POR ID"
Vamos mergulhar na implementação da rota "EXCLUIR POSTAGEM POR ID" no arquivo postsRoutes.js
. Esta rota permite que os clientes excluam uma postagem específica fornecendo seu ID único.
Definição de Rota
O código abaixo define a rota "DELETAR POST POR ID" usando router.delete()
:
Esta rota lida com pedidos HTTP DELETE que têm um :id
parametrizado no caminho da rota. O parâmetro :id
é utilizado para identificar o post que será deletado. Não precisamos de middleware extra como dataValidation
, pois obtemos todas as informações necessárias do parâmetro da URL.
Extraindo o ID do Post
Extraímos o ID do post dos parâmetros da solicitação usando req.params.id
:
Esta linha captura o valor de :id
da URL, permitindo-nos trabalhar com ele no código subsequente.
Excluir o Post
Aqui está como excluímos o post:
- Começamos lendo os dados existentes do arquivo JSON usando a função assíncrona
readData
, conforme explicado anteriormente. - Encontramos o índice do post a ser excluído no array
data
comparando os IDs dos posts. - Se o post não for encontrado (ou seja,
postIndex === -1
), retornamos uma resposta 404 (Não Encontrado) com uma mensagem de erro. - Usando o método
splice
, removemos os dados do post do arraydata
. A variávelpostIndex
determina a posição do post a ser excluído. - O array
data
atualizado, com o post removido, é então reescrito no arquivo JSON para salvar as alterações feitas durante a exclusão.
Enviando uma Resposta
Uma resposta JSON com um código de status 200 (OK) é enviada ao cliente, indicando a exclusão bem-sucedida. A resposta inclui uma mensagem confirmando que a postagem foi deletada com sucesso:
Tratamento de Erros
Envolvemos o código da rota em um bloco try-catch para lidar com possíveis erros durante a recuperação dos dados ou o processamento da solicitação. Qualquer erro que ocorra é registrado no console para fins de depuração:
Código completo do arquivo postsRoutes.js até este passo
Tudo estava claro?
Conteúdo do Curso
Node.js Express: API & CLI Apps
2. Aplicações de Console
4. Desenvolver API REST
Node.js Express: API & CLI Apps
Implementando a Rota "DELETAR POST POR ID"
Vamos mergulhar na implementação da rota "EXCLUIR POSTAGEM POR ID" no arquivo postsRoutes.js
. Esta rota permite que os clientes excluam uma postagem específica fornecendo seu ID único.
Definição de Rota
O código abaixo define a rota "DELETAR POST POR ID" usando router.delete()
:
Esta rota lida com pedidos HTTP DELETE que têm um :id
parametrizado no caminho da rota. O parâmetro :id
é utilizado para identificar o post que será deletado. Não precisamos de middleware extra como dataValidation
, pois obtemos todas as informações necessárias do parâmetro da URL.
Extraindo o ID do Post
Extraímos o ID do post dos parâmetros da solicitação usando req.params.id
:
Esta linha captura o valor de :id
da URL, permitindo-nos trabalhar com ele no código subsequente.
Excluir o Post
Aqui está como excluímos o post:
- Começamos lendo os dados existentes do arquivo JSON usando a função assíncrona
readData
, conforme explicado anteriormente. - Encontramos o índice do post a ser excluído no array
data
comparando os IDs dos posts. - Se o post não for encontrado (ou seja,
postIndex === -1
), retornamos uma resposta 404 (Não Encontrado) com uma mensagem de erro. - Usando o método
splice
, removemos os dados do post do arraydata
. A variávelpostIndex
determina a posição do post a ser excluído. - O array
data
atualizado, com o post removido, é então reescrito no arquivo JSON para salvar as alterações feitas durante a exclusão.
Enviando uma Resposta
Uma resposta JSON com um código de status 200 (OK) é enviada ao cliente, indicando a exclusão bem-sucedida. A resposta inclui uma mensagem confirmando que a postagem foi deletada com sucesso:
Tratamento de Erros
Envolvemos o código da rota em um bloco try-catch para lidar com possíveis erros durante a recuperação dos dados ou o processamento da solicitação. Qualquer erro que ocorra é registrado no console para fins de depuração:
Código completo do arquivo postsRoutes.js até este passo
Tudo estava claro?