Cara Menggunakan FastAPI untuk Membuat dan Menangani Permintaan POST

Pelajari cara membuat & tangani POST request dgn FastAPI. Panduan lengkap: setup, validasi data, unggah file & lainnya. Cocok utk pemula & ahli. #FastAPI #API #apidog.com

Ardianto Nugroho

Ardianto Nugroho

7 July 2025

Cara Menggunakan FastAPI untuk Membuat dan Menangani Permintaan POST

Jika Anda menyelami dunia pengembangan web modern, kemungkinan besar Anda pernah mendengar tentang FastAPI. Ini adalah salah satu kerangka kerja dengan pertumbuhan tercepat untuk membangun API di Python. Dalam postingan blog ini, kita akan menjelajahi cara menggunakan FastAPI untuk membuat dan menangani permintaan POST. Baik Anda seorang pengembang berpengalaman atau baru memulai, panduan ini akan membantu Anda memahami dasar-dasarnya dan lebih dari itu.

button

Apa itu FastAPI?

FastAPI adalah kerangka kerja web modern, cepat (berkinerja tinggi), untuk membangun API dengan Python 3.7+ berdasarkan petunjuk tipe Python standar. Dirancang agar mudah digunakan dan memberikan kinerja tinggi setara dengan Node.js dan Go. Kerangka kerja ini juga sangat intuitif dan mudah, menjadikannya pilihan yang sangat baik untuk pemula dan ahli.

Mengapa Menggunakan FastAPI?

Ada beberapa alasan mengapa pengembang memilih FastAPI daripada kerangka kerja lain:

  1. Kecepatan: FastAPI cepat. Bahkan, ini adalah salah satu kerangka kerja web tercepat yang tersedia saat ini.
  2. Kemudahan Penggunaan: Dengan dokumentasi interaktif otomatis (berkat Swagger UI dan ReDoc), sangat mudah untuk menguji API Anda.
  3. Validasi Data: FastAPI memanfaatkan Pydantic untuk validasi data, yang memastikan bahwa data yang diterima API Anda valid.
  4. Siap Async: Mendukung pemrograman asinkron secara langsung, sehingga cocok untuk aplikasi web modern dan berkinerja tinggi.
Fast api

Menyiapkan FastAPI

Sebelum kita membahas permintaan POST, mari kita siapkan FastAPI dengan cepat. Anda perlu Python yang terinstal di sistem Anda. Kemudian, Anda dapat menginstal FastAPI dan server ASGI, seperti Uvicorn, menggunakan pip:

pip install fastapi uvicorn

Setelah Anda menginstal FastAPI, Anda dapat membuat aplikasi FastAPI sederhana. Mari kita mulai dengan membuat file bernama main.py:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

Untuk menjalankan aplikasi, gunakan Uvicorn:

uvicorn main:app --reload

Buka browser Anda dan navigasikan ke http://127.0.0.1:8000. Anda akan melihat respons JSON: {"Hello": "World"}.

Post request

Membuat Endpoint POST

Sekarang kita memiliki aplikasi FastAPI dasar yang berjalan, mari tambahkan endpoint POST. Permintaan POST digunakan untuk mengirimkan data untuk diproses ke sumber daya yang ditentukan. Untuk menangani permintaan POST di FastAPI, Anda menggunakan dekorator @app.post.

Berikut adalah contoh sederhana tentang cara menangani permintaan POST:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    name: str
    description: str = None
    price: float
    tax: float = None

@app.post("/items/")
def create_item(item: Item):
    return item

Dalam contoh ini:

  1. Kita mendefinisikan instance FastAPI.
  2. Kita membuat model Pydantic Item yang menjelaskan struktur data dari badan permintaan.
  3. Kita menggunakan dekorator @app.post untuk mendefinisikan endpoint POST /items/.
  4. Fungsi create_item mengambil objek Item sebagai input dan mengembalikannya.

Untuk menguji ini, Anda dapat menggunakan klien API seperti apidog atau cukup gunakan Swagger UI interaktif yang disediakan oleh FastAPI di http://127.0.0.1:8000/docs.

Menangani Data dan Validasi

FastAPI secara otomatis memvalidasi data permintaan terhadap model Pydantic. Jika data tidak sesuai dengan model, FastAPI mengembalikan kode status 422 dengan detail tentang kesalahan validasi.

Misalnya, jika Anda mengirim permintaan POST ke /items/ dengan badan JSON berikut:

{
    "name": "Item name",
    "price": 25.5
}

FastAPI akan menerima permintaan ini karena memenuhi persyaratan model Item. Namun, jika Anda menghilangkan bidang price, FastAPI akan menolak permintaan dan mengembalikan kesalahan.

Menggunakan Apidog untuk Menguji Permintaan POST FastAPI Anda

Apidog adalah alat yang ampuh untuk menguji API. Ini memungkinkan Anda untuk membuat dan menyimpan permintaan API, mengaturnya ke dalam koleksi, dan membaginya dengan tim Anda.

button

Berikut adalah cara Anda dapat menggunakan Apidog untuk menguji permintaan POST Anda:

  1. Buka Apidog dan buat permintaan baru.
Select new request

2. Atur metode permintaan ke POST.

Select Post request

3. Masukkan URL sumber daya yang ingin Anda perbarui. Tambahkan header atau parameter tambahan yang ingin Anda sertakan, lalu klik tombol "Kirim" untuk mengirim permintaan.

4. Verifikasi bahwa responsnya sesuai dengan yang Anda harapkan.

Verify the response

Permintaan POST Tingkat Lanjut

Sekarang, mari kita jelajahi beberapa skenario yang lebih canggih. FastAPI memungkinkan Anda melakukan lebih banyak hal dengan permintaan POST. Misalnya, Anda dapat:

Menangani Unggahan File

Berikut adalah contoh menangani unggahan file dengan FastAPI:

from fastapi import FastAPI, File, UploadFile

app = FastAPI()

@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile):
    return {"filename": file.filename}

Endpoint ini akan menerima file dan mengembalikan nama file. Anda dapat menguji ini dengan apidog atau Swagger UI.

Memproses Data Formulir

Untuk memproses data formulir, gunakan kelas Form dari FastAPI:

from fastapi import FastAPI, Form

app = FastAPI()

@app.post("/login/")
def login(username: str = Form(...), password: str = Form(...)):
    return {"username": username}

Contoh ini membuat endpoint login yang menerima data formulir. Anda dapat menguji ini menggunakan pengiriman formulir di browser Anda atau alat pengujian API.

Menggunakan Parameter Jalur

Anda juga dapat menggabungkan parameter jalur dengan permintaan POST:

from fastapi import FastAPI

app = FastAPI()

@app.post("/users/{user_id}/items/")
def create_item_for_user(user_id: int, item: Item):
    return {"user_id": user_id, "item": item}

Endpoint ini membuat item untuk pengguna tertentu, yang diidentifikasi oleh parameter jalur user_id.

Kesimpulan

FastAPI adalah kerangka kerja yang kuat yang memudahkan untuk membangun API yang kuat dengan Python. Dukungannya untuk validasi data, dokumentasi interaktif, dan kinerja tinggi menjadikannya pilihan yang sangat baik untuk pengembangan web modern.

Dalam postingan blog ini, kita telah membahas cara menyiapkan aplikasi FastAPI dan menangani permintaan POST. Kita juga telah menjelajahi topik yang lebih canggih seperti unggahan file, pemrosesan data formulir, dan menggabungkan parameter jalur dengan permintaan POST. Sekarang, Anda seharusnya memiliki pemahaman yang kuat tentang cara menggunakan FastAPI untuk membuat dan menangani permintaan POST.

Ingat, apakah Anda sedang membangun API sederhana atau aplikasi yang kompleks, FastAPI memiliki alat yang Anda butuhkan untuk berhasil. Selamat membuat kode!

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.