DEV Community

hevertonam
hevertonam

Posted on • Edited on

criando API REST com typeScript utilizando o NodeJS

Nesse artigo irei falar sobre uma introdução ao typeScript e criar uma API REST Express.

Para criação da API irei utilizar o Visual Studio Code (VSC) e o INSOMNIA.

Criando estrutura novo projeto

Abrir o terminal e criar uma nova pasta que será a raiz do projeto.

Iniciar o yarn para trazer mais funcionalidades e vantagens para o desenvolvimento
yarn init -y

abrir o visual studio code
code .

Instalar as dependencias do express
yarn add express

Assim que as dependencias forem instaladas irá ser criado o package.json

Criar pasta 'src' e dentro dela criar um arquivo server.ts esse arquivo tem a extensão do typeScript o VSC já identifica esse padrão.

Abrir o arquivo server.ts e importar o express
import express from 'express'

Adicionar biblioteca do express com dependencia de desenvolvimento
yarn add@types/express - D

Ao importar a biblioteca do express o typeScript traz tudo que tem disponivel para ser utilizado.

Image description

Necessário converter o arquivo 'server.ts' para codigo JavaScript de uma forma que o node.js consiga entender tudo aquilo que esta sendo declarado para executar o arquivo. Para fazer isso instalar com dependência de desenvolvimento

yarn add typescript -D

Inicializar o typeScript. Será criado o arquivo tsconfig.json que é um arquivo de configuração

yarn tsc --init

Converter o código para o javascript. Ao fazer isso irá criar um novo arquivo com o formado javaScript

yarn tsc

ao executar o yarn tsc é criado um arquivo dentro da pasta local. Se tiver vários arquivos ira criar um arquivo com formato js para cada um ocasionando em confusão.

Para resolver esse problema ver o artigo que fala sobre a configuração de uma ferramenta que faça a conversão de forma automática.

Criar uma pasta chamada rotas onde iremos começar separando as rotas da aplicação.

Criar um arquivo modelo.Rotas.ts. Importar dentro do express o Router (Router é uma interface)

import {Router} from 'express'

criar constante para rota

const rota = Router();

exportar a rota para ser acessivel dentro de outra classe

export {modeloRota}

Criar uma rota de post. Para a rota funcionar corretamente a API REST precisa que o recurso seja bem definido, e o recurso sera o modelo. A rota vai receber as informações de dentro do request e a partir dai vai fazer o cadastro do modelo.

criar um array de modelo

const modelo = [];

usar modelo.push passando o nome e a descrição.

    modelo.push({
    nome,
    descricao
      }); 
Enter fullscreen mode Exit fullscreen mode

dar um retorn com o status 201 informando que um objeto foi criado.
return response.status(201).send();

Abrir o arquivo server.ts importar a rota

import { modeloRota } from './rotas/modelo.rotas';

usar o a rota

app.use(modeloRota);

Abrir o Insomnia

criar um arquivo e definir metodo criar, do tipo post, que vai receber um json e passar os dados desejados para que a aplicação receba esses valores:

Image description

O servidor do VSC precisa estar iniciado para que o insomnia retorno sucesso:

yarn dev

Se o servidor rodar com sucesso basta clicar em 'send' no insomnia e sera executado com suscesso. Assim o metodo de cadastro de modelo já esta funcionando.

Top comments (0)