Dezvoltare Backend - rute

1. GET /messages

Din pașii trecuți, metoda GET /messages arată astfel

app.get("/messages", (req, res) => {
  connection.query("SELECT * FROM messages", (err, results) => {
    if (err) {
      return res.send(err);
    }

    return res.json({
      messages: results,
    });
  });
});

2. POST /messages

  • Pentru a implementa metoda POST /messages, vom instala și pachetul body-parser. ( npm install ... ).

  • Vom utiliza mai multe metode de procesare a body-ului trimis prin metoda POST, așa că vom transmite aplicației express următoarele instrucțiuni

  • Inițializăm și metoda POST /messages și aplicăm metoda mysql.escape() pe datele primite pentru a proteja baza de date de atacuri de tip injection

* Crearea unui Express Router

Putem observa dimensiunea fișierului index.js crește considerabil după fiecare nou endpoint pe care îl definim. Desigur, această metodă de definire a endpoint-urilor nu este optimă. Din fericire, NodeJS + Express ne oferă posibilitatea de a organiza rutele cu ajutorul unor Routere.

  • Creați un director nou in root-ul proiectului, îl vom denumi routers. În interiorul lui, creați fișierul messagesRouter.js

  • Cut and Paste funcțiilor app.get() și app.post() din index.js. De asemenea, Cut and Paste importurilor de care avem nevoie (mysql, connection (ATENȚIE - se va schimba path-ul relativ pentru db.js))

  • Definim routerul pe care îl vom exporta

  • Înlocuim app cu router. Putem de asemenea să ștergem "/messages", vom preciza calea default a router-ului nostru in index.js

  • Exportăm router-ul la final

  • Codul până în acest punct cu toate endpoint-urile initiale (GET, GET/id, POST/ PUT/ DELETE) definite

  • În fișierul index.js -> importam router-ul nou creat și precizăm faptul că app va folosi router-ul nou creat pe ruta /messages. Codul in index.js până în acest punct - am evidențiat liniile modificate cu un comentariu //look here

Last updated