Comecei a desenvolver desde do curso, utilizando o banco de dado mysql junto com node js. Fiz a criação do arquivo router e controller para ficar organizado o escopo do projeto livros.
Queria saber se ficou certo a logica do codigo que fiz nos 2 arquivos? até a importação eas bibliotecas e o nome do arquivo js.
Ah no arquivo do controller importei a configuração iniciais do banco de dados para conseguir realizar na função uma leitura de dados sobre a tabela livros e assim conseguir retornar a respota com sucesso, caso não der certo mostra o erro no console. Segue os codigos abaixos:
import conectaNaDataBase from './config/db.js';
class LivroControlador {
static async listarLivros(request, response) {
try {
const conexao = await conectaNaDataBase();
const livroSQL = await conexao.query('SELECT * from livros');
response.status(200).json(livroSQL[0]);
} catch (erro) {
response.json(erro);
console.log(erro);
}
}
};
module.exports = LivroControlador;
import express from 'express';
import LivroControlador from '../controllers/livroController.js'
const router = express.Router();
// Rota para listar os livros
router.get('/livros', LivroControlador.listarLivros);
export default router;
Ao fazer isso, vai deixar de existir no app.js a utilização de rota e função assincrona direto, porque vai estar utilizando o controller e a rota separadas no outro arquivo que estarão conectado para gerar ações entre eles.