Tutorial Laravel 12 – Membuat Web Berita berbasis API – Bagian #2 (CRUD Vue.js – Axios Base URL)

BAGIAN D — Axios Base URL (Laravel 12 Friendly)

13. Konfigurasi Axios Global

Buat file src/plugins/axios.js:

import axios from 'axios'

const api = axios.create({
baseURL: 'http://127.0.0.1:8000/api',
headers: {
'Content-Type': 'application/json'
}
})

export default api

Gunakan di komponen:

import api from '../plugins/axios'

BAGIAN E — CRUD Lanjutan (Edit & Delete)

14. Update Komponen Berita.vue

Tambahkan state edit:

const isEdit = ref(false)
const editId = ref(null)

Ubah fungsi simpan:

const simpan = async () => {
if (isEdit.value) {
   await api.put(`/berita/${editId.value}`, {
   judul: judul.value,
   isi: isi.value
  })
} else {
   await api.post('/berita', {
   judul: judul.value,
   isi: isi.value
  })
}

judul.value = ''
isi.value = ''
isEdit.value = false
editId.value = null
loadData()
}

Tambahkan fungsi edit & hapus:

const edit = (b) => {
judul.value = b.judul
isi.value = b.isi
isEdit.value = true
editId.value = b.id
}


const hapus = async (id) => {
if (confirm('Yakin hapus data?')) {
await api.delete(`/berita/${id}`)
loadData()
}
}

15. Update Template Berita.vue

<ul>
<li v-for="b in beritas" :key="b.id">
<b>{{ b.judul }}</b><br />
{{ b.isi }}
<br />
<button @click="edit(b)">Edit</button>
<button @click="hapus(b.id)">Hapus</button>
</li>
</ul>

BAGIAN F — Testing CRUD

16. Skenario Uji

  • Tambah data ✔
  • Edit data ✔
  • Hapus data ✔
  • Data berubah di database ✔
Tags :

Leave a Reply

Your email address will not be published. Required fields are marked *

7 + seven =

Tutorial Terpopuler

Tutorial Pilihan

Tentang Gurututorku

Gurututorku adalah sebuah kursus online maupun offline yang menyediakan berbagai macam tutorial tentang pemrograman, design, dan multimedia serta artikel teknologi yang tentunya bisa dinikmati dan dipelajari oleh semua orang yang baru ingin belajar dunia IT.

© 2024 – Gurututorku.com | Learning today success tomorrow.