Express JS: Routing, Response, and File Structure

Jul 11, 2024

Express JS: Routing, Response, and File Structure

Pengantar

  • Diskusi malam hari ini adalah tentang Routing Path, Response, dan File Structure di Express JS.
  • Review singkat dari sesi sebelumnya untuk memahami sesi kali ini.

Raut Path (Routing Path)

  • Routing Path adalah cara untuk membuka method API melalui URL.
  • Metode HTTP yang digunakan antara lain: GET, POST, PUT, DELETE.
    • GET: Untuk mengambil data dari server, misalnya, membuka URL http://localhost:3000/mahasiswa untuk mendapatkan data mahasiswa.
    • POST: Untuk mengirim data ke server, misalnya menambahkan data mahasiswa baru. Tidak bisa diakses melalui browser langsung, harus menggunakan tool seperti Postman.
    • PUT: Untuk mengupdate data yang sudah ada di server, misalnya mengubah nama mahasiswa.
    • DELETE: Untuk menghapus data di server.

Contoh Implementasi di Express JS

  • Setup Server: Gunakan npm run untuk menjalankan server di localhost:3000.
  • Basic GET Route:
    app.get('/', (req, res) => {
        res.send('Server is up!');
    });
    
  • POST Route with Postman: Testing dengan Postman untuk mengirim data via POST:
    app.post('/mahasiswa', (req, res) => {
        res.send('Data mahasiswa ditambahkan!');
    });
    
  • Basic PUT and DELETE Routes: Cara mendefinisikan route PUT dan DELETE dengan URL yang sama karena metode berbeda (tidak akan bertabrakan):
    app.put('/mahasiswa/:id', (req, res) => {
        res.send('Data mahasiswa diupdate!');
    });
    app.delete('/mahasiswa/:id', (req, res) => {
        res.send('Data mahasiswa dihapus!');
    });
    

Response

  • Jenis Response:
    • res.send: Mengirim respon berupa string.
    • res.json: Mengirim respon berupa JSON.
  • Status Code:
    • 200: Oke
    • 404: Not Found
    • 500: Internal Server Error
  • Memberi Status Code Pada Response:
    res.status(200).send('Request sukses!');
    

File Structure

  • Mengorganisir file dalam proyek untuk membedakan logic, routing, dan utility.
  • Contoh struktur folder:
    - controllers
    - models
    - routes
    - utils
    - index.js
    
  • Eksport Modular Pada Response:
    // response.js
    function sendResponse(res, statusCode, message, data) {
        res.status(statusCode).json({ message, data });
    }
    module.exports = sendResponse;
    
    // index.js
    const sendResponse = require('./response');
    app.get('/', (req, res) => {
        sendResponse(res, 200, 'Request sukses!', {});
    });
    

Kesimpulan

  • Penting untuk memahami routing path, jenis response, dan struktur folder di Express JS.
  • Contoh praktis membantu mencegah kebingungan di sesi mendatang.
  • Terus eksperimen dan pahami metode berbeda agar proyek lebih terstruktur dan maintainable.

Catatan Tambahan

  • Jangan ragu untuk bertanya jika mengalami hambatan.
  • Lanjutkan pemahaman ke sesi berikutnya untuk lebih mendalam tentang query database dan validasi.

Pastikan kalian review kembali topik ini sebelum sesi selanjutnya!