Como criar API com Node.js e TypeScript


Neste tutorial, será explicado como criar uma API com Node.js e TypeScript.

Primeiramente, abordaremos o uso do Express com TypeScript.

Em seguida, será apresentado o processo de criação de rotas na API.

Por fim, será demonstrado como executar a API criada com Node.js.

Download do código fonte desenvolvido na aula: Download

Lista completa de aulas sobre Node.js e TypeScript: Acessar

Como instalar Node.js: Acessar

Curso Full Stack de React e Node.js: Mais detalhes


Para criar a API é necessário ter o Node.js instalado.

Primeiro, é criado o arquivo package.json com o comando:

npm init

Em seguida, instalado o Express para gerenciar as requisições, rotas, URLs e outras funcionalidades:

npm i express

Também é necessário instalar os pacotes para suporte ao TypeScript:

npm i --save-dev @types/express
npm i --save-dev @types/node

Instalar o compilador para o projeto com TypeScript:

npm i --save-dev ts-node

Gerar o arquivo de configuração para o TypeScript:

npx tsc --init

Será gerado o arquivo tsconfig.json. No arquivo, adicionar o código abaixo:

{
  "compilerOptions": {
    "target": "es2016", 
    "module": "commonjs", 
    "outDir": "./dist",
    "rootDir": "./src",
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "strict": true,   
    "skipLibCheck": true 
  }
}

Criar o arquivo src/index.ts, no qual será utilizado o Express para criar a rota e iniciar o servidor:

// Importar a biblioteca Express
import express, { Request, Response } from "express";

// Criar a aplicação Express
const app = express();

// Criar a rota GET principal
app.get("/", (req: Request, res: Response) => {
    res.send("Bem-vindo Celke!");
});

// Iniciar o servidor na porta 8080
app.listen(8080, () => {
    console.log("Servidor iniciado na porta 8080: http://localhost:8080");
});

É necessário compilar o arquivo TypeScript:

npx tsc

Por fim, execute o arquivo gerado no diretório dist:

node dist/index.js

Para ver o resultado, acessar a URL:

http://localhost:8080

Baixar o código-fonte completo do projeto.

Bom, era isso. Espero que o tutorial tenha sido útil!