Implementasi Basic REST API dengan 4 Endpoints di Node.js
Bagaimana cara mengimplementasikan Basic REST API dengan 4 Endpoints di Node.js?
Pertama-tama, apa saja langkah-langkah yang perlu diikuti untuk membuat server Node.js dengan modul http?
Adakah cara untuk menyimpan skor kata dan permainan yang telah disimpan pada server agar persisten?
Langkah-langkah Implementasi Basic REST API di Node.js
1. Membuat server Node.js menggunakan modul http untuk menangani permintaan masuk dan mengirimkan respons.
2. Mendefinisikan 4 endpoint: POST /wordScore, GET /highestWordScores, POST /gameScore, dan GET /highestGameScores.
3. Mengimplementasikan logika untuk setiap endpoint:
a. Endpoint POST /wordScore: Menyimpan skor kata di server dengan request body dalam format JSON yang berisi kunci name, word, dan score.
b. Endpoint GET /highestWordScores: Mengambil 10 skor kata teratas yang tersimpan di server dalam format JSON array yang berisi kata dan skornya.
c. Endpoint POST /gameScore: Menyimpan skor permainan untuk satu pemain di server dengan request body dalam format JSON yang berisi kunci name dan score.
d. Endpoint GET /highestGameScores: Mengambil 10 skor permainan teratas yang tersimpan di server dalam format JSON array yang berisi nama dan skornya.
4. Pastikan skor yang tersimpan bersifat persisten dengan menggunakan file JSON untuk menyimpan skor. Bacalah skornya dari file saat server mulai berjalan, dan tulis skornya ke file setiap skor disimpan atau diperbarui.
Implementasi Detail Basic REST API di Node.js
1. Pertama, Anda perlu membuat server Node.js dengan menggunakan modul bawaan http. Hal ini memungkinkan Anda untuk menangani permintaan masuk dan mengirimkan respons.
2. Selanjutnya, Anda perlu mendefinisikan 4 endpoint yang terdiri dari POST /wordScore, GET /highestWordScores, POST /gameScore, dan GET /highestGameScores. Setiap endpoint memiliki fungsi yang berbeda sesuai dengan tujuan dan jenis permintaan yang diterima.
3. Untuk mengimplementasikan logic pada setiap endpoint:
a. Pada endpoint POST /wordScore, Anda perlu menyimpan skor kata di server. Request body yang diterima harus dalam format JSON dan mengandung kunci name, word, dan score. Anda dapat menggunakan modul fs untuk membaca dan menulis ke file JSON untuk menyimpan skor tersebut. Respons yang diberikan harus berupa kode status 200 tanpa tubuh respons.
b. Pada endpoint GET /highestWordScores, Anda perlu mengambil 10 skor kata teratas yang tersimpan di server (atau X skor teratas jika jumlah skornya kurang dari 10). Respons yang diberikan harus berupa array JSON yang berisi objek-objek, masing-masing objek berisi kata dan skornya.
c. Pada endpoint POST /gameScore, Anda perlu menyimpan skor permainan untuk satu pemain di server. Request body yang diterima harus dalam format JSON dan mengandung kunci name dan score. Sekali lagi, Anda dapat menggunakan modul fs untuk menyimpan skor ke file JSON. Respons yang diberikan harus berupa kode status 200 tanpa tubuh respons.
d. Pada endpoint GET /highestGameScores, Anda perlu mengambil 10 skor permainan teratas yang tersimpan di server (atau X skor teratas jika jumlah skornya kurang dari 10). Respons yang diberikan harus berupa array JSON yang berisi objek-objek, masing-masing objek berisi nama dan skornya.
4. Terakhir, pastikan skor yang tersimpan bersifat persisten. Ini berarti jika server di-restart, skornya tetap tersimpan. Untuk mencapai ini, Anda dapat menggunakan file JSON untuk menyimpan skor. Bacalah skor dari file saat server mulai berjalan, dan tulis skor ke file setiap skor disimpan atau diperbarui.
Dengan mengikuti langkah-langkah ini, Anda akan dapat mengimplementasikan Basic REST API dengan 4 endpoint untuk melacak statistik tentang permainan.