Reka Bentuk API yang Bersih dalam Node.js

Kebanyakan API Node.js bermula dengan satu fail server.js dan beberapa laluan (routes). Ini berfungsi apabila aplikasi masih kecil.

Kemudian, aplikasi mula berkembang.

Laluan bertambah banyak. Logik perniagaan mula meresap ke dalam pengendali laluan (route handlers). Pengendalian ralat menjadi kucar-kacir dengan kod yang disalin dan ditampal. Pembangun baharu sukar untuk mencari di mana sesuatu fungsi itu berada. API masih berfungsi, tetapi ia menjadi sukar untuk diselenggara.

Reka bentuk API yang bersih dapat mengelakkan perkara ini. Anda memerlukan struktur yang mengasingkan tanggungjawab (separates concerns).

Berikut adalah cara untuk membina lapisan API secara profesional:

Mengapa ini penting:

Apabila anda mengasingkan lapisan-lapisan ini, anda mendapat fleksibiliti. Jika anda perlu bertukar daripada pangkalan data simulasi (mock database) kepada yang sebenar, anda hanya perlu mengubah service tersebut. Controller dan router tidak akan terjejas.

Jika anda mahukan prestasi yang lebih baik dan sokongan TypeScript terbina dalam, pertimbangkan Fastify. Prinsip struktur tetap sama, tetapi framework tersebut mengendalikan lebih banyak perkara untuk anda.

Berhenti meletakkan segalanya dalam satu fail buat masa ini. Membina struktur yang betul dari awal bukanlah "overengineering". Ia adalah keperluan minimum untuk backend yang boleh diselenggara.

Bagaimanakah tetapan Express anda sekarang? Adakah anda menggunakan seni bina berlapis (layered architecture) atau yang bersifat organik?

Sumber: https://dev.to/gavincettolo/clean-api-design-in-nodejs-a-practical-guide-3a32