API (Application Programming Interface) adalah jembatan yang memungkinkan aplikasi untuk berkomunikasi satu sama lain. Dalam dunia pengembangan perangkat lunak modern, API memainkan peran penting, terutama dalam pengembangan aplikasi berbasis web dan mobile. Flask adalah salah satu framework Python yang ringan dan mudah digunakan untuk membuat API.
Langkah 1: Instalasi Flask
Sebelum memulai, pastikan Anda memiliki Python di komputer Anda. Untuk memeriksa, buka terminal atau command prompt dan ketik:
python --version
Jika Python sudah terinstal, langkah selanjutnya adalah menginstal Flask menggunakan pip:
pip install Flask
Langkah 2: Membuat Struktur Proyek
Setelah Flask terinstal, buat direktori proyek baru untuk API Anda. Di dalam direktori tersebut, buat file bernama app.py
. Struktur dasar proyek Anda mungkin terlihat seperti ini:
/myapi
/app.py
Langkah 3: Menulis API Sederhana
Dalam app.py
, tulis kode berikut untuk membuat API sederhana yang merespons permintaan GET:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api/v1/hello', methods=['GET'])
def hello_world():
return jsonify({"message": "Hello, World!"})
if __name__ == '__main__':
app.run(debug=True)
Kode di atas membuat endpoint API /api/v1/hello
yang merespons dengan pesan JSON “Hello, World!”. Untuk menjalankan server Flask, buka terminal, navigasi ke folder proyek, dan jalankan:
python app.py
Langkah 4: Menambahkan Endpoint POST
API biasanya tidak hanya merespons permintaan GET, tetapi juga menerima data dengan metode POST. Berikut adalah contoh endpoint POST yang menerima data dari klien:
from flask import request
@app.route('/api/v1/greet', methods=['POST'])
def greet():
data = request.json
name = data.get('name', 'Anonymous')
return jsonify({"message": f"Hello, {name}!"})
Endpoint ini menerima JSON dengan kunci “name” dan memberikan tanggapan personalisasi.
Langkah 5: Menghubungkan ke Database
Flask mendukung berbagai database. Dalam contoh ini, kita akan menggunakan SQLite sebagai database ringan. Pertama, instal library SQLite untuk Python:
pip install sqlite3
Kemudian, buat file database.py
dan tambahkan kode berikut untuk membuat koneksi ke database:
import sqlite3
def get_db():
conn = sqlite3.connect('mydatabase.db')
return conn
Tambahkan fungsi untuk menambahkan data ke dalam database:
def add_user(name):
conn = get_db()
cursor = conn.cursor()
cursor.execute("INSERT INTO users (name) VALUES (?)", (name,))
conn.commit()
conn.close()
Di app.py
, Anda dapat menambahkan endpoint untuk menyimpan data pengguna:
from database import add_user
@app.route('/api/v1/users', methods=['POST'])
def add_new_user():
data = request.json
name = data['name']
add_user(name)
return jsonify({"message": "User added!"})
Langkah 6: Praktik Terbaik Pengamanan API
Mengamankan API adalah langkah penting dalam proses pengembangan. Salah satu cara sederhana untuk menambahkan keamanan adalah dengan menggunakan token otentikasi. Dalam Flask, Anda dapat menggunakan ekstensi Flask-JWT
untuk menambahkan otentikasi JWT (JSON Web Token).
Untuk menginstalnya:
pip install Flask-JWT-Extended
Setelah diinstal, tambahkan middleware ke app.py
untuk melindungi endpoint sensitif:
from flask_jwt_extended import JWTManager, jwt_required, create_access_token
app.config['JWT_SECRET_KEY'] = 'super-secret'
jwt = JWTManager(app)
@app.route('/api/v1/protected', methods=['GET'])
@jwt_required()
def protected():
return jsonify({"message": "This is a protected route"})
Membuat API dengan Flask sangat sederhana dan fleksibel. Dengan mengikuti langkah-langkah di atas, Anda dapat membangun API yang fungsional dan aman. Framework ini juga memiliki banyak ekstensi untuk menambah fitur seperti database, otentikasi, dan lainnya, yang memungkinkan Anda untuk mengembangkan aplikasi lebih lanjut.