Introdução
Neste projeto, você aprenderá como criar uma API de notícias simples usando Node.js. Você aprenderá como criar um servidor, lidar com diferentes rotas e retornar dados de notícias em um formato específico.
👀 Pré-visualização
curl http://localhost:8080/news
## Output:
## [{"channelId":"5572a108b3cdc86cf39001cd","name":"National Focus"},{"channelId":"5572a108b3cdc86cf39001ce","name":"International Focus"}]
curl http://localhost:8080
## Output:
## 404
🎯 Tarefas
Neste projeto, você aprenderá:
- Como criar um servidor usando Node.js
- Como lidar com a rota
/newse retornar dados de notícias - Como lidar com outras rotas e retornar uma resposta 404
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Entender os conceitos básicos da criação de um servidor usando Node.js
- Implementar uma API simples para retornar dados de notícias
- Lidar com diferentes rotas e fornecer respostas apropriadas
Criar um Servidor
Para começar, abra o editor. Você deve ver um arquivo do editor - "app.js".
Nesta etapa, você aprenderá como criar um servidor usando Node.js. Siga os passos abaixo para completar esta etapa:
Abra o arquivo
app.jsno seu ambiente de codificação.Importe o módulo
http, que fornece a funcionalidade para criar um servidor:const http = require("http");Crie um novo servidor usando o método
createServer():const serve = http.createServer();Adicione um ouvinte de evento ao servidor para lidar com as requisições recebidas:
serve.on("request", (req, res) => { // TODO: Add code to handle the request });Inicie o servidor e escute na porta 8080:
serve.listen(8080, () => { console.log("O serviço foi iniciado!"); });
Lidar com a Rota /news
Nesta etapa, você aprenderá como lidar com a rota /news e retornar dados de notícias. Siga os passos abaixo para completar esta etapa:
Dentro do ouvinte de evento de requisição, defina o cabeçalho da resposta para usar o formato
utf8:res.setHeader("Content-type", "text/html;charset=utf8");Verifique a URL requisitada:
if (req.url == "/news") { // Handle the /news route } else { // Handle other routes }Prepare os dados de notícias no formato requerido:
const data = [ { channelId: "5572a108b3cdc86cf39001cd", name: "National Focus" }, { channelId: "5572a108b3cdc86cf39001ce", name: "International Focus" } ];Envie os dados de notícias como a resposta:
res.end(JSON.stringify(data));
Lidar com Outras Rotas
Nesta etapa, você aprenderá como lidar com outras rotas que não são /news.
Dentro do ouvinte de evento de requisição, adicione um bloco
elsepara lidar com outras rotas:if (req.url == "/news") { // Handle the /news route // ... } else { // Handle other routes res.end("404"); }No bloco
else, envie uma resposta404para indicar que a rota requisitada não foi encontrada.
Agora, seu arquivo app.js deve se parecer com isto:
const http = require("http");
const serve = http.createServer();
serve.on("request", (req, res) => {
// TODO: Add code to handle the request
res.setHeader("Content-type", "text/html;charset=utf8");
console.log(req.url);
if (req.url == "/news") {
const data = [
{
channelId: "5572a108b3cdc86cf39001cd",
name: "National Focus"
},
{
channelId: "5572a108b3cdc86cf39001ce",
name: "International Focus"
}
];
res.end(JSON.stringify(data));
} else {
res.end("404");
}
});
serve.listen(8080, () => {
console.log("The service has been started!");
});
Testar o Servidor
Execute o servidor usando o seguinte comando no terminal:
node app.jsAbra um novo terminal novamente e verifique se o terminal está correto com o seguinte comando:
curl http://localhost:8080/news ## Output: ## [{"channelId":"5572a108b3cdc86cf39001cd","name":"National Focus"},{"channelId":"5572a108b3cdc86cf39001ce","name":"International Focus"}] curl http://localhost:8080 ## Output: ## 404
Parabéns! Você criou com sucesso uma API de notícias usando Node.js.
Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.



