Panduan Membuat API RESTful Sederhana dengan Python dan Flask

Panduan Membuat API RESTful dengan Flask

 Pendahuluan

API RESTful adalah cara populer untuk memungkinkan komunikasi antara aplikasi. Dengan API, Anda dapat membuat sistem yang fleksibel dan terhubung secara efisien. Flask, sebagai framework Python yang ringan, sangat cocok untuk membuat API RESTful. Artikel ini akan membahas langkah-langkah untuk membuat API RESTful sederhana.


1. Persiapan Lingkungan

Instalasi Flask: Pastikan Python sudah terinstal di komputer Anda, lalu instal Flask menggunakan pip:

bash

pip install flask

2. Struktur Proyek

Atur proyek Anda dengan struktur berikut:


restful_api/ │ ├── app.py ├── requirements.txt

requirements.txt berisi daftar dependensi:

makefile

Flask==2.1.3

3. Membuat API Sederhana

Kode Contoh: Buat file app.py dengan isi berikut:

python

from flask import Flask, jsonify, request app = Flask(__name__) # Data dummy tasks = [ {"id": 1, "title": "Learn Flask", "done": False}, {"id": 2, "title": "Build an API", "done": False}, ] # Endpoint untuk mendapatkan semua tugas @app.route('/tasks', methods=['GET']) def get_tasks(): return jsonify({"tasks": tasks}) # Endpoint untuk mendapatkan tugas berdasarkan ID @app.route('/tasks/<int:task_id>', methods=['GET']) def get_task(task_id): task = next((task for task in tasks if task["id"] == task_id), None) if task: return jsonify(task) return jsonify({"error": "Task not found"}), 404 # Endpoint untuk menambahkan tugas baru @app.route('/tasks', methods=['POST']) def create_task(): new_task = { "id": len(tasks) + 1, "title": request.json.get("title"), "done": False, } tasks.append(new_task) return jsonify(new_task), 201 # Endpoint untuk memperbarui tugas @app.route('/tasks/<int:task_id>', methods=['PUT']) def update_task(task_id): task = next((task for task in tasks if task["id"] == task_id), None) if not task: return jsonify({"error": "Task not found"}), 404 task["title"] = request.json.get("title", task["title"]) task["done"] = request.json.get("done", task["done"]) return jsonify(task) # Endpoint untuk menghapus tugas @app.route('/tasks/<int:task_id>', methods=['DELETE']) def delete_task(task_id): task = next((task for task in tasks if task["id"] == task_id), None) if not task: return jsonify({"error": "Task not found"}), 404 tasks.remove(task) return jsonify({"message": "Task deleted"}) if __name__ == "__main__": app.run(debug=True)

4. Menjalankan API

Langkah-langkah:

  1. Buka terminal dan navigasikan ke folder proyek.
  2. Jalankan perintah:
    bash

    python app.py
  3. API akan berjalan di http://127.0.0.1:5000/.

5. Menguji API

Gunakan Postman atau cURL untuk menguji API Anda.

Contoh:

  • GET Semua Tugas:

    bash

    curl -X GET http://127.0.0.1:5000/tasks
  • POST Tambah Tugas:

    bash

    curl -X POST -H "Content-Type: application/json" \ -d '{"title": "New Task"}' \ http://127.0.0.1:5000/tasks

6. Tips dan Peningkatan

  • Validasi Data: Gunakan pustaka seperti marshmallow untuk validasi input.
  • Penggunaan Database: Simpan data ke dalam database seperti SQLite atau PostgreSQL.
  • Dokumentasi API: Gunakan Swagger atau Postman untuk membuat dokumentasi otomatis.

Kesimpulan

Membuat API RESTful sederhana dengan Flask adalah langkah awal yang bagus untuk memahami cara kerja API. Dengan API, Anda dapat membangun aplikasi yang fleksibel dan terhubung. Terus eksplorasi dengan menambahkan fitur baru seperti autentikasi atau integrasi dengan database.


Link Referensi:

Lebih baru Lebih lama