Conceitos Fundamentais da API

Conceitos Importantes para o Projeto Prático

Package.json

O package.json é um arquivo fundamental criado automaticamente ao iniciar um projeto com o comando npm init. Ele gerencia as dependências (bibliotecas e pacotes que o projeto utiliza) e os scripts (comandos que facilitam tarefas como iniciar o servidor ou executar testes) do projeto.

Principais Funções:

  • Gerenciar Dependências: Lista todas as bibliotecas necessárias para o projeto funcionar corretamente.

  • Definir Scripts: Permite a criação de atalhos para comandos comuns, como iniciar o servidor (npm start) ou executar o modo de desenvolvimento (npm run dev).

  • Informações do Projeto: Contém metadados como nome, versão, descrição e autor do projeto.

Endpoint

Um endpoint é um ponto específico que a API acessa para interagir com um recurso do projeto. É a URL que o cliente utiliza para chamar uma rota e se conectar ao servidor.

Exemplo:

  • GET https://api.meusite.com/produtos – Obtém a lista de produtos.

  • POST https://api.meusite.com/produtos – Adiciona um novo produto.

Rota

Uma rota é o caminho definido pelo desenvolvedor no código que indica qual função será executada quando o servidor recebe uma requisição em um determinado endpoint.

Exemplo de Rota com Express.js:

const express = require('express');
const router = express.Router();

// Rota para obter todos os produtos
router.get('/produtos', (req, res) => {
    // Lógica para obter produtos
    res.send('Lista de produtos');
});

// Rota para adicionar um novo produto
router.post('/produtos', (req, res) => {
    // Lógica para adicionar produto
    res.send('Produto adicionado');
});

module.exports = router;

Arquitetura de Software

A arquitetura de software organiza o código em camadas distintas, facilitando a manutenção e escalabilidade da aplicação. As principais camadas são:

  • Controller:

    • Função: Lida com as requisições e respostas. É a primeira camada que recebe as requisições do cliente e decide como processá-las.

    • Responsabilidade: Validar dados de entrada, chamar os serviços apropriados e retornar a resposta ao cliente.

  • Service:

    • Função: Camada dedicada à lógica de negócio. Encapsula operações relacionadas a uma determinada entidade ou funcionalidade.

    • Responsabilidade: Processar dados, aplicar regras de negócio e interagir com os repositórios.

  • Repository:

    • Função: Gerencia o acesso à fonte de dados. Fornece métodos para acessar e manipular os dados armazenados no banco de dados.

    • Responsabilidade: Realizar operações CRUD (Create, Read, Update, Delete) no banco de dados de forma abstrata, permitindo que outras camadas não precisem lidar diretamente com a lógica de persistência.

Last updated

Was this helpful?