Halo teman-teman semuanya, pada artikel-artikel sebelumnya kita telah banyak belajar hal, seperti membuat proses insert, show, update dan kali ini kita semua akan belajar bersama-sama bagaimana cara melakukan proses delete data di Next.js menggunakan Prisma.
Langkah 1 - Membuat Proses Delete Data
Silahkan teman-teman buka file src/app/api/posts/[id]/route.js, kemudian ubah semua kode-nya menjadi seperti berikut ini.
src/app/api/posts/[id]/route.js
//import next request and response
import { NextResponse } from "next/server";
//import prisma client
import prisma from "../../../../../prisma/client";
export async function GET(request, { params }) {
//get params id
const id = parseInt(params.id);
//get detail post
const post = await prisma.post.findUnique({
where: {
id,
},
});
if (!post) {
//return response JSON
return NextResponse.json(
{
sucess: true,
message: "Detail Data Post Not Found!",
data: null,
},
{
status: 404,
}
);
}
//return response JSON
return NextResponse.json(
{
sucess: true,
message: "Detail Data Post",
data: post,
},
{
status: 200,
}
);
}
export async function PATCH(request, { params }) {
//get params id
const id = parseInt(params.id);
//get request data
const { title, content } = await request.json();
//update data
const post = await prisma.post.update({
where: {
id,
},
data: {
title: title,
content: content,
updatedAt: new Date(),
},
});
//return response JSON
return NextResponse.json(
{
sucess: true,
message: "Data Post Updated!",
data: post,
},
{
status: 200,
}
);
}
export async function DELETE(request, { params }) {
//get params id
const id = parseInt(params.id);
//delete data
await prisma.post.delete({
where: {
id,
},
});
//return response JSON
return NextResponse.json(
{
sucess: true,
message: "Data Post Deleted!",
},
{
status: 200,
}
);
}
Dari perubahan kode di atas, kita menambahkan function yang bernama DELETE. Fungsi ini digunakan untuk menangani permintaan HTTP jenis DELETE.
export async function DELETE(request, { params }) {
//...
}
Di dalamnya kita membuat variable yang bernama id dan berisi ID parameter yang di dapatkan dari URL browser dan kita ubah tipe data-nya menjadi Int.
const id = parseInt(params.id);
Setelah itu, kita tinggal lakukan proses delete data berdasarkan ID menggunakan Prisma.
await prisma.post.delete({
where: {
id,
},
});
Jika proses delete data berhasil dilakukan, maka kita akan return menggunakan NextResponse dengan pesan bahwa data berhasil dihapus.
return NextResponse.json(
{
success: true,
message: "Data Post Deleted!",
},
{
status: 200,
}
);
Langkah 2 - Uji Coba Delete Data
Sekarang silahkan teman-teman buka aplikasi Postman, kemudian masukkan URL berikut ini : http://localhost:3000/api/posts/1 dan untuk method-nya silahkan pilih DELETE.
INFORMASI : contoh di atas, saya memberikan nilai parameter ID
1, karena data yang saya miliki di database memiliki ID tersebut.
Setelah itu, silahkan klik Send dan jika berhasil maka hasilnya seperti berikut ini.
{
"sucess": true,
"message": "Data Post Deleted!"
}

Kesimpulan
Kurang lebih seperti itu tutorial bagaimana cara melakukan delete data menggunakan Rest API di dalam Next.js dan Prisma.
Jika teman-teman sudah mengikuti seri artikel ini dari awal dan mendapatkan kesulitan, jangan ragu-ragu untuk bertanya melalui kolom komentar atau group Telegram dari SantriKoding.
Terima Kasih
{ setTimeout(() => { showShimmer = false; }, 300); })"
:class="{'opacity-0': !loaded, 'opacity-100': loaded}"
class="lazy w-full h-auto rounded-xl border border-white dark:border-neutral-700/80 transition-opacity duration-500"
loading="lazy"
/>
SAWERIA
Memuat komentar...