Panduan Membuat API Pertama Anda Dengan Python Dan FastAPI - CRUDPRO

Panduan Membuat API Pertama Anda Dengan Python Dan FastAPI

Panduan Membuat API Pertama Anda Dengan Python Dan FastAPI

Pendahuluan

Python adalah salah satu bahasa pemrograman tercepat di dunia. Bekerja dengan API merupakan hal mendasar bagi setiap pengembang perangkat lunak atau insinyur data. Di "bidang" Python kami selalu memiliki Django dan Flask di bagian atas daftar.

Tapi, saat ini FastAPI berjanji untuk bergabung dengan daftar ini juga, karena pemrosesan yang cepat dan optimal, kecepatan pengkodean, dan kesederhanaan, dari "Hello World!" untuk membangun API.

Mengingat potensi kerangka kerja ini, dalam artikel ini, kami akan membuat API sepenuhnya dari awal, sebagai panduan untuk pemula. Kami akan mengembangkan REST API, dengan metode GET, memanfaatkan perpustakaan.

Artikel ini dibagi menjadi 4 bagian:

  1. Prasyarat
  2. "Hello World!" dengan FastAPI
  3. Pengembangan metode
  4. Kesimpulan

1. Prasyarat

Prasyaratnya adalah menginstal Python 3.6+ di mesin Anda dan pustaka FastAPI dan Uvicorn. Juga, lingkungan virtual direkomendasikan untuk proyek tersebut.

Penciptaan lingkungan virtual

Untuk membuat dan menginisialisasi lingkungan virtual, langkah pertama adalah berada di folder yang dibuat untuk proyek dan menjalankan kode berikut di terminal Linux:

python3 -m venv venv
. venv/bin/activate

Saat kami mengembangkan API awal dan sederhana, kami akan melanjutkan dengan Uvicorn sebagai server web ASGI, yang juga digunakan dalam dokumentasi bahasa resmi.

pip install fastapi uvicorn

2. "Hello World!" dengan FastAPI

Untuk “Hello World!” dan seluruh API kami, kami membuat file bernama main.py di folder root. Di file baru ini, kami mengetikkan kode berikut:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def home():
  return "Hello World!"

Di terminal, ketik perintah berikut untuk memulai server dan menjalankan FastAPI di browser Anda:

uvicorn api:app --reload

Penting untuk mencatat argumen “ — reload”, yang bertanggung jawab memperbarui proyek setiap kali file main.py diubah. Dalam hal pengembangan, ini sangat berguna.

Setelah menjalankan perintah di atas, kami mendapatkan output berikut di terminal:

Panduan Membuat API Pertama Anda Dengan Python Dan FastAPI

Dan, saat mengakses alamat di browser Anda: http://127.0.0.1:8000 kami memiliki "Hello World!" sebagai string.

Panduan Membuat API Pertama Anda Dengan Python Dan FastAPI

Saat mengetik http://127.0.0.1:8000/docs, layar yang ditampilkan berisi semua rute yang dipetakan. Antarmuka grafis ini luar biasa, dan lebih jauh ke depan, kami akan menjelajahinya sedikit lebih baik dengan permintaan yang dieksekusi di "/ doc".

Panduan Membuat API Pertama Anda Dengan Python Dan FastAPI

3. Pengembangan metode

Saat kita sampai di sini, kita sudah memiliki semua dependensi, server berjalan di browser kita, dan "Hello World!" telah dikembangkan. Sekarang, mari kita pergi ke bagian DAPATKAN!

Di sini, kami mengembangkan GET berdasarkan daftar penjualan. Atribut dari setiap item adalah item, harga satuan, dan kuantitas.

sales = {
    1: {
        "item": "tin", 
        "unit_price": 4, 
        "quantity": 5
    },
    2: {
        "item": "2 liters", 
        "unit_price": 15, 
        "quantity": 5
    },
    3: {
        "item": "12 fl oz", 
        "unit_price": 10, 
        "quantity": 5
    },
    4: {
        "item": "mini tin", 
        "unit_price": 2, 
        "quantity": 5
    }
}

Dengan “database”, kami mengembangkan rute untuk mengambil informasi (GET), menurut kode berikut:

from fastapi import FastAPI

app = FastAPI()

sales = {
    1: {
        "item": "tin", 
        "unit_price": 4, 
        "quantity": 5
    },
    2: {
        "item": "2 liters", 
        "unit_price": 15, 
        "quantity": 5
    },
    3: {
        "item": "12 fl oz", 
        "unit_price": 10, 
        "quantity": 5
    },
    4: {
        "item": "mini tin", 
        "unit_price": 2, 
        "quantity": 5
    }
}


@app.get("/")
def home():
    return {"Sales": len(sales)}


@app.get("/sales/{sale_id}")
def sale_get(sale_id: int):
    if sale_id in sales:
        return sales[sale_id]
    else:
        return {"Error: Sale ID not found!"}

Pada rute pertama, item diteruskan langsung ke http://127.0.0.1:8000/sales/1

Panduan Membuat API Pertama Anda Dengan Python Dan FastAPI

Selain meminta URL secara langsung, kita juga bisa melakukannya melalui antarmuka grafis yang telah didemonstrasikan sebelumnya, seperti gambar di bawah ini:

Panduan Membuat API Pertama Anda Dengan Python Dan FastAPI

Dengan cara ini, kami menyadari bahwa kueri dapat dilakukan baik di URL browser Anda maupun melalui antarmuka grafis "/docs" dari URL root.

Selesai! Metode GET “Fast”, seperti yang dijanjikan oleh lib.

4. Kesimpulan

Dengan beberapa baris kode, framework memenuhi apa yang dijanjikannya dalam hal kelincahan dalam pengembangan. Mengenai kecepatan pemrosesan, kami tidak melakukan tes apa pun, tetapi kami memiliki referensi di internet studi, seperti artikel ini, yang mendukungnya.

Hal lain yang perlu dipertimbangkan adalah bahwa itu diadopsi oleh perusahaan teknologi besar seperti Uber, Primer, dan Payhere, dengan rekomendasi dan pujian ditemukan dalam dokumen. Namun, karena sangat baru, komunitasnya masih lebih kecil dari Django dan Flask.