Membuat API dengan Python

 Sesuai dengan judulnya, post ini menjelaskan gimana caranya kita bisa bikin API dengan bahasa Python. Sangat to-the-point sekali. Tulisan ini saya buat karena tiba tiba ada kebutuhan untuk menggunakan bahasa Python untuk sebuah fungsi. Fungsi apa itu, nanti saya tulis di post yang berbeda hehehe.

Image by Freepik

 

Sekilas info, bahasa Python ini populer banget karena lebih "manusiawi" bahasanya dan konon katanya memberikan performa yang lebih baik untuk perhitungan matematis. Mangkanya, bahasa ini populer di kalangan data science atau AI atau matematika. Saya sendiri dulu sempat pake untuk fungsi matematikanya, yang bisa mirip mirip sama R.

Selayaknya bahasa pemrograman lain, biar bisa saling ngobrol, Python juga bisa dibuat API sehingga bisa saling tukeran data. Gimana caranya?

1. Siapin environment Python dulu

Selayaknya bahasa pemrograman lain, kita harus config device/server kita biar bisa nerjemahin si Python ini. Tutorialnya ada di sini ya!

2. Pasang Plugin 

Biar bisa bikin API, kita harus pasang dulu plugin ini di virtual environment (venv) dari proyek kita. Ada beberapa opsi, yang pernah saya pake adalah Flask atau FastAPI. Dua-duanya bisa bantu kita buat bikin API, meski Flask bisa buat web-based apps juga sedangkan FastAPI cuma API aja. Pro-Consnya bisa dicek disini , sesuaikan aja dengan kebutuhan.

Kalo flask, kita cukup install flask aja tanpa tambahan lain. 

pip install flask

Udah gitu aja. Dan dengan flask, kita bisa langsung running APInya.

Beda sama FastAPI, ada dua yang harus diinstall

pip install fastapi
pip install "uvicorn[standard]"

FastAPI butuh uvicorn buat running APInya.

3. Tulis code seperti dibawah (contoh aja)

Kalo flask, codingnya seperti ini. Tapi sederhana aja ya, kalo mau lebih advanced, bisa cek di dokumentasinya. Intinya, kita panggil dulu Flask, declare, terus bikin route dengan endpoint dan fungsinya ngapain. 


from flask import Flask app = Flask(__name__) @app.route("/") def hello_world(): return "<p>Hello, World!</p>"

Simpen file tersebut, misal dengan nama coba.py. Jalanin aplikasinya tinggal ketik ini di cmd. 

flask --app coba run 

Beda lagi sama FastAPI. Kalo FastAPI, gini codingnya. Mirip banget sama Flask.

from fastapi import FastAPI

app = FastAPI()


@app.get("/")

def read_root():

    return {"Hello": "World"}

Simpen file tersebut, misal dengan nama coba.py. Jalanin aplikasinya tinggal ketik ini di cmd

uvicorn coba:app --reload


4. Eksplor sesuai kebutuhan. 

Gampang kan? Iyalah gampang, orang dasar. Coba kalo kena yang susah. Coba kalo udah mulai aneh aneh fiturnya.

Tapi, dari yang udah saya coba sekilas, Flask sebenernya lebih gampang. Mungkin karena dia udah berupa framework yang lengkap, jadi lebih gampang. Kalo FastAPI saya butuh waktu lebih buat opreknya. Tapi, karena emang cuma buat API, saya kebantu banget pake FastAPI karena dia bisa generate dokumentasi swagger otomatis. Wow


Sepertinya gitu sih tutorial kali ini. Semoga bermanfaat.



Regards,