Cara Membangun REST API Dengan MySQL Dan Node.js
Silahkan kita coba membuat RESTful API untuk lakukan operasi GET pada database MySQL. Banyak pengembang ingin memetakkan REST ke CRUD langsung, karena REST over HTTP sediakan GET PUT POST dan DELETE, dan CRUD sediakan CREATE RETRIEVE UPDATE DELETE. Wajar bila ingin memetakkan ketetapan REST langsung ke operasi CRUD dan kami akan mencoba.
Apa yang akan kita lakukan kali ini?
Membuat API dengan nodeJS benar-benar simpel, khususnya saat Anda seorang pemula, Anda bisa pilih expressJS untuk membikin set API pertama Anda.
Mari kita mulai!
Saya sudah memakai generator ekspres untuk membikin direktori namanya apidemo. Di server mysql saya, saya mempunyai database yang disebutkan "test". Saya membuat jaringan di antara node dan database mysql saya.
A. Memasang mysql
npm install mysql --save
B. Menghubungkan ke database
var mysql = require("mysql");
//Database connection
app.use(function(req, res, next){
res.locals.connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : ' ',
database : 'test'
});
res.locals.connection.connect();
next();
});
Cara 1 dari misi saya usai, dan saya akan menukar nama jalur untuk membikin pakta pemberian nama API saya kelihatan professional. Periksa garis yang disoroti di program yang Anda bikin.
Saya menukar nama pakta perutean dari baris yang disoroti jadi "/ api/v1/pemakai".
app.use('/api/v1/users', users);
Saya mengutak-atik users.js saya untuk ambil dari hasil database (Mengambil di CRUD). Kami sudah membuat jaringan ke DB dalam langkah awalnya, dalam langkah ini kami akan memakai sistem GET untuk memperoleh daftar pemakai lewat API yang kami bangun.
router.get('/', function(req, res, next) {
res.locals.connection.query('SELECT * from users', function (error, results, fields) {
if (error) throw error;
res.send(JSON.stringify({"status": 200, "error": null, "response": results}));
});
});
Mari gunakan POSTMAN untuk memeriksa API yang baru saja kita buat.
Saat ini sesudah kita membuat rangka dasar API, silahkan tuntaskan strukturnya secara benar. Saat kami tidak mempunyai kekeliruan server, API akan berperan, tapi saat kami mempunyai beberapa permasalahan, pemakai akhir API tidak tahu apakah yang salah! Berikut langkah ia ketahui apa yang keliru!
router.get('/', function(req, res, next) {
res.locals.connection.query('SELECT * from users', function (error, results, fields) {
if(error){
res.send(JSON.stringify({"status": 500, "error": error, "response": null}));
//If there is error, we send the error in the error section with 500 status
} else {
res.send(JSON.stringify({"status": 200, "error": null, "response": results}));
//If there is no error, all is good and response is 200OK.
}
});
});
Silahkan kita periksa tanggapan kekeliruan! Saya menukar nama tabel "pengguna" di pangkalan data saya jadi "anggota".
RENAME TABLE users TO members;
Jalur simpel untuk MENDAPATKAN dari hasil database usai!
NodeJS ialah karunia pemrograman yang simpel tetapi kuat untuk pembikinan API. UBER, IBM, PayPal, NETFLIX, dan MICROSOFT memercayakan nodeJS untuk membikin API. Bila Anda mengusai dalam peningkatan javascript front-end, teruskan dengan pelajari javascript back-end!