Nodejs: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
mkdir nodejsapi<br> | mkdir nodejsapi<br> | ||
cd nodejsapi<br> | cd nodejsapi<br> | ||
npm i -D @types/cors @types/express @types/ip types/mysql2 nodemon ts-node typescript | npm i -D @types/cors @types/express @types/ip types/mysql2 nodemon ts-node typescript | ||
Baru | Baru | ||
npm install express mysql body-parser | npm install express mysql body-parser | ||
const express = require('express'); | const express = require('express'); | ||
const mysql = require('mysql'); | const mysql = require('mysql'); | ||
const bodyParser = require('body-parser'); | const bodyParser = require('body-parser'); | ||
const app = express(); | const app = express(); | ||
const port = process.env.PORT || 3000; | const port = process.env.PORT || 3000; | ||
app.use(bodyParser.json()); | app.use(bodyParser.json()); | ||
// Konfigurasi koneksi ke database MySQL | // Konfigurasi koneksi ke database MySQL | ||
const db = mysql.createConnection({ | const db = mysql.createConnection({ | ||
host: 'localhost', | host: 'localhost', | ||
user: 'username', | user: 'username', | ||
password: 'password', | password: 'password', | ||
database: 'nama_database', | database: 'nama_database', | ||
}); | }); | ||
// Terhubung ke database | // Terhubung ke database | ||
db.connect((err) => { | db.connect((err) => { | ||
if (err) { | if (err) { | ||
console.error('Koneksi ke database gagal: ' + err.stack); | console.error('Koneksi ke database gagal: ' + err.stack); | ||
Line 33: | Line 33: | ||
} | } | ||
console.log('Terhubung ke database dengan ID ' + db.threadId); | console.log('Terhubung ke database dengan ID ' + db.threadId); | ||
}); | }); | ||
// Contoh endpoint untuk mengambil data dari database | // Contoh endpoint untuk mengambil data dari database | ||
app.get('/data', (req, res) => { | app.get('/data', (req, res) => { | ||
const query = 'SELECT * FROM nama_tabel'; | const query = 'SELECT * FROM nama_tabel'; | ||
db.query(query, (err, result) => { | db.query(query, (err, result) => { | ||
Line 46: | Line 46: | ||
res.json(result); | res.json(result); | ||
}); | }); | ||
}); | }); | ||
// Mulai server | // Mulai server | ||
app.listen(port, () => { | app.listen(port, () => { | ||
console.log(`Server berjalan pada port ${port}`); | console.log(`Server berjalan pada port ${port}`); | ||
}); | }); | ||
== Referensi == | == Referensi == | ||
https://www.youtube.com/watch?v=aUMGAFE5pPM&t=4535s | https://www.youtube.com/watch?v=aUMGAFE5pPM&t=4535s |
Revision as of 12:12, 8 February 2024
mkdir nodejsapi
cd nodejsapi
npm i -D @types/cors @types/express @types/ip types/mysql2 nodemon ts-node typescript
Baru
npm install express mysql body-parser
const express = require('express'); const mysql = require('mysql'); const bodyParser = require('body-parser');
const app = express(); const port = process.env.PORT || 3000;
app.use(bodyParser.json());
// Konfigurasi koneksi ke database MySQL const db = mysql.createConnection({ host: 'localhost', user: 'username', password: 'password', database: 'nama_database', });
// Terhubung ke database db.connect((err) => { if (err) { console.error('Koneksi ke database gagal: ' + err.stack); return; } console.log('Terhubung ke database dengan ID ' + db.threadId); });
// Contoh endpoint untuk mengambil data dari database app.get('/data', (req, res) => { const query = 'SELECT * FROM nama_tabel'; db.query(query, (err, result) => { if (err) { console.error('Error dalam pengambilan data: ' + err); res.status(500).json({ error: 'Gagal mengambil data' }); return; } res.json(result); }); });
// Mulai server app.listen(port, () => { console.log(`Server berjalan pada port ${port}`); });