Implementasi HTTP POST Listener dengan FastAPI
FastAPI adalah framework web modern berbasis Python yang sangat efisien untuk menangani request HTTP POST. Untuk membuat listener, Anda cukup menggunakan dekorator @app.post dan mendefinisikan model data menggunakan Pydantic untuk validasi otomatis. Berikut adalah implementasi dasar yang siap digunakan.
Contoh Kode Implementasi
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Payload(BaseModel):
id: int
data: str
status: str
@app.post("/webhook")
async def receive_data(payload: Payload):
# Proses data yang diterima di sini
print(f"Data diterima: {payload.dict()}")
return {"message": "Data berhasil diproses", "received_id": payload.id}Langkah Teknis Menjalankan Listener
- Instal dependensi:
pip install fastapi uvicorn. - Simpan kode di atas dalam file bernama
main.py. - Jalankan server dengan perintah:
uvicorn main:app --reload. - Server akan aktif di
http://127.0.0.1:8000/webhook. - Kirim request POST menggunakan cURL atau Postman dengan header
Content-Type: application/json.
Tabel Perbandingan Metode Request
| Metode | Fungsi | Penggunaan di FastAPI |
|---|---|---|
| GET | Mengambil data | @app.get() |
| POST | Mengirim data baru | @app.post() |
| PUT | Memperbarui data | @app.put() |
| DELETE | Menghapus data | @app.delete() |
Tips Troubleshooting
- Error 422 Unprocessable Entity: Terjadi jika format JSON yang dikirim tidak sesuai dengan model Pydantic yang didefinisikan. Pastikan tipe data (int, str, dll) sudah benar.
- Port Terpakai: Jika port 8000 sudah digunakan, jalankan dengan
--port 8080. - Asynchronous: Gunakan
async defuntuk operasi I/O bound agar performa tetap optimal di bawah beban tinggi.
🔍 Orang Lain Juga Mencari Ini
FastAPI POST Request Example
Python Webhook Listener
FastAPI Pydantic Validation
Uvicorn Server Setup
FastAPI JSON Body Parsing
Python HTTP Server Tutorial
FastAPI Background Tasks
Handle POST Request Python
FastAPI Request Headers
FastAPI Error Handling
FastAPI Vs Flask For Webhooks
Deploy FastAPI To Production
FastAPI Dependency Injection
FastAPI Async Vs Sync
Testing FastAPI Endpoints