Cara Membuat Operasi CRUD dengan FastAPI Secara Cepat

Di artikel ini, kita akan membahas cara cepat implementasi operasi CRUD dengan FastAPI. Kita mulai dengan menyiapkan FastAPI & database, lalu membuat endpoint API untuk operasi CRUD.

Ardianto Nugroho

Ardianto Nugroho

15 April 2025

Cara Membuat Operasi CRUD dengan FastAPI Secara Cepat

Operasi CRUD sangat penting dalam setiap aplikasi web yang melibatkan penyimpanan dan pengambilan data. Operasi ini memungkinkan pengguna untuk membuat catatan baru, mengambil catatan yang sudah ada, memperbarui catatan yang sudah ada, dan menghapus catatan dari database.

FastAPI memudahkan implementasi operasi CRUD dengan menyediakan cara yang sederhana dan intuitif untuk menentukan endpoint API dan menangani permintaan HTTP. Ia memanfaatkan petunjuk tipe Python untuk secara otomatis menghasilkan dokumentasi API interaktif dan melakukan validasi data, menjadikannya alat yang ampuh untuk membangun API yang kuat dan terdokumentasi dengan baik.

Dalam postingan ini, kita akan menjelajahi cara mengimplementasikan operasi CRUD dengan cepat menggunakan FastAPI. Kita akan mulai dengan menyiapkan FastAPI dan database, kemudian melanjutkan untuk membuat endpoint API untuk operasi CRUD. Kita juga akan membahas implementasi operasi create, read, update, dan delete, serta pengujian dan validasi operasi ini. Jadi, mari kita mulai dan menyelami dunia FastAPI dan operasi CRUD!

What is CRUD in FastAPI?

Di FastAPI, CRUD mengacu pada operasi dasar yang dapat dilakukan pada data dalam database atau sistem penyimpanan data. CRUD adalah singkatan dari Create, Read, Update, dan Delete, dan mewakili fungsi-fungsi fundamental yang penting untuk mengelola data di sebagian besar aplikasi.

Berikut adalah penjelasan rinci tentang operasi CRUD di FastAPI:

How to Create CRUD Operations with FastAPI Quickly

Untuk mengimplementasikan fungsionalitas CRUD dengan FastAPI, ikuti langkah-langkah berikut:

Langkah 1: Instal FastAPI: Pastikan Python terinstal di sistem Anda, dan jalankan perintah berikut di baris perintah untuk menginstal FastAPI:

pip install fastapi

Langkah 2: Buat Aplikasi FastAPI: Buat file Python baru (misalnya, main.py) dan impor modul dan pustaka yang diperlukan:

from fastapi import FastAPI
from pydantic import BaseModel
from typing import List

app = FastAPI()

Langkah 3: Definisikan Model Data: Gunakan Pydantic untuk mendefinisikan model data. Contohnya:

class Item(BaseModel):
    id: int
    name: str
    price: float

Langkah 4: Buat Rute dan Handler CRUD: Gunakan FastAPI untuk membuat rute dan fungsi penanganan yang sesuai untuk operasi CRUD. Berikut adalah contohnya:

items = []

@app.get("/items", response_model=List[Item])
async def read_items():
    return items

@app.post("/items", response_model=Item)
async def create_item(item: Item):
    items.append(item)
    return item

@app.put("/items/{item_id}", response_model=Item)
async def update_item(item_id: int, item: Item):
    items[item_id] = item
    return item

@app.delete("/items/{item_id}")
async def delete_item(item_id: int):
    del items[item_id]
    return {"message": "Item deleted"}

Langkah 5: Jalankan Aplikasi: Untuk menjalankan aplikasi FastAPI dan menguji fungsionalitas APIRouter, gunakan server ASGI seperti uvicorn. Pastikan Anda telah menginstal uvicorn:

pip install uvicorn

Di editor IDE Anda, buka terminal, navigasikan ke direktori tempat file main.py disimpan, dan jalankan perintah berikut untuk memulai aplikasi:

uvicorn main:app --reload

Ini akan memulai aplikasi FastAPI pada port default (biasanya 8000) dengan auto-reloading diaktifkan, sehingga aplikasi akan memuat ulang secara otomatis ketika Anda membuat perubahan kode.

Langkah 6: Uji Operasi CRUD

Gunakan alat klien HTTP (misalnya, cURL atau Apidog) untuk mengirim permintaan dan menguji fungsionalitas Create, Read, Update, dan Delete. Berikut adalah beberapa contoh permintaan:

POST http://localhost:8000/items
{
    "id": 1,
    "name": "Apple",
    "price": 0.5
}
 a POST request
GET http://localhost:8000/items
a GET request
GET http://localhost:8000/items
a PUT request
DELETE http://localhost:8000/items/1
 a DELETE request

Terakhir, kita dapat menulis pengujian untuk operasi delete di Apidog. Kita dapat mensimulasikan permintaan DELETE ke endpoint delete dan memeriksa apakah kode status respons adalah 200 (menunjukkan penghapusan berhasil). Kita kemudian dapat mencoba mengambil data yang dihapus dari database dan memastikan bahwa data tersebut tidak ada.

Dengan menulis pengujian ini, kita dapat memastikan bahwa operasi CRUD kita berfungsi dengan benar dan menangani berbagai skenario, seperti input yang tidak valid atau data yang tidak ada.

Bonus Tips

Gunakan dukungan IDE seperti Visual Studio Code untuk meningkatkan efisiensi pengembangan dengan fitur pelengkapan otomatis kode, pemeriksaan kesalahan, dan debugging.

Dengan mengikuti praktik ini, Anda dapat mengembangkan API yang kuat dan efisien dengan FastAPI, merampingkan proses pengembangan dan penerapan Anda.

Explore more

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Pelajari cara buat web apa pun dgn Lovable. Panduan lengkap, fitur inovatif, & integrasi Apidog (API gratis).

15 April 2025

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Tutorial ini memandu Anda menyiapkan & mengelola API key khusus di Cursor: OpenAI, Anthropic, Google, & Azure.

11 April 2025

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Pelajari API NVIDIA Llama Nemotron utk buat agen AI canggih.

11 April 2025

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.