NodeJS API - Create
Berikut langkah-langkah membuat API Create menggunakan NodeJS, express dan MongoDB
Buat folder baru dengan nama nodejs-api
Lakukan inisialisasi awal project
npm init

Install package express, nodemon, mongoose, dotenv dan body-parser
npm install express nodemon mongoose dotenv body-parser
Keterangan package: express : framework nodejs, sangat powerfull dan banyak digunakan oleh developer nodemon : membantu dalam proses development dari mengemas aplikasi Node Anda, memantau sistem berkas, dan secara otomatis memulai ulang proses mongoose : penghubung ke database NoSQL mongodb body-parser : middleware (penengah) antara data dari form dengan NodeJS, agar NodeJS bisa baca data dari form
Ubah script package.json, hapus bagian "test", lalu tambahkan "dev": "nodemon app.js"

Bua file .env
PORT = 3003
DB_CONNECTION = <Copy dari Connection String cloud mongodb>
Berikut contoh .env
PORT = 3003
DB_CONNECTION = mongodb+srv://nurrachmat:KW1h9NdsUqqOOOOO@cluster0.dzprir3.mongodb.net/mdpdb?retryWrites=true&w=majority
/mdpdb adalah nama database yang sudah dibuat pada cloud mongoDB
Buat file dengan nama app.js
// (1) definisikan module, middleware
const express = require('express')
const app = express()
const mongoose = require('mongoose')
const bodyParser = require('body-parser')
require('dotenv/config')
// (6) middleware body-parser
// https://stackoverflow.com/questions/24330014/bodyparser-is-deprecated-express-4
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
// (7) import routes
const mahasiswaRoutes = require('./routes/mahasiswa')
// (8) app.use (mendaftarkan middleware baru ke Express)
app.use('/mahasiswa', mahasiswaRoutes)
// (3) koneksi ke database mongodb
mongoose.connect(process.env.DB_CONNECTION, { useNewUrlParser: true, useUnifiedTopology: true })
let db = mongoose.connection
// handle error
db.on('error', console.error.bind(console, 'Error Establishing a Database Connection?'))
// handle success
db.once('open', () => {
console.log('Database is connected')
})
// (2) listen port, dan buat callback dengan output console.log
app.listen(process.env.PORT, () => {
console.log(`Server running on ${process.env.PORT}`);
})
Buat Schema data Mahasiswa di models/Mahasiswa.js
// (4) Buat Schema Mahasiswa
const mongoose = require('mongoose')
const MahasiswaSchema = mongoose.Schema({
// Buat Schema data
nama: {
type: String,
required: true
},
alamat: {
type: String,
required: true
},
createdAt: {
type: Date,
default: Date.now
}
})
module.exports = mongoose.model('Mahasiswa', MahasiswaSchema)
Buat routes mahasiswa
// (5) Buat router Mahasiswa
const express = require('express')
const router = express.Router()
const Mahasiswa = require('../models/Mahasiswa')
// Create
router.post('/', async(req, res) => {
// tampung input mahasiswa
const mahasiswaPost = new Mahasiswa({
nama: req.body.nama,
alamat: req.body.alamat
})
try {
// simpan data
const mahasiswa = await mahasiswaPost.save()
// response
res.json(mahasiswa)
} catch (error) {
res.json({message: error})
}
})
module.exports = router
Berikut struktur folder dari project nodejs-api
Jalankan npm run dev dari terminal

Tes dari POSTMAN

Lihat data di cloud mongodb

Last updated
Was this helpful?