7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. Flask

Membangun RESTful API dengan Flask: Cara Membuat Sendiri

Scroll to top
Read Time: 5 mins
This post is part of a series called Building RESTful APIs With Flask.
Building RESTful APIs With Flask: An ORM With SQLAlchemy

Indonesian (Bahasa Indonesia) translation by Aditia Dwiperdana (you can also view the original English article)

REpresentational State Transfer (REST) adalah arsitektur desain pengembangan web yang mengacu pada membagi secara logis sumber daya API agar mudah diakses, dimanipulasi, dan dikembangkan. Komponen yang bisa digunakan ulang ditulis sedemikian rupa agar bisa ditangani dengan request HTTP yang sederhana dan mudah dimengerti yang bisa berupa GET, POST, PUT, PATCH, dan DELETE (masih ada lagi, tapi request tersebut adalah yang paling umum digunakan).

Tidak peduli seperti apa kelihatannya, REST tidak memaksakan protokol atau standar tertentu. REST hanya mengatur arsitektur perangkat lunak untuk menulis aplikasi web dan API, dan menghasilkan penyederhanaan antarmuka di dalam dan di luar aplikasi. API web service yang ditulis mengikuti prinsip REST disebut RESTful API.

Dalam seri tutorial tiga bagian ini, saya akan membahas berbagai cara membuat RESTful API menggunakan Flask sebagai framework web. Pada bagian pertama, saya akan membahas bagaimana membuat REST API berbasis kelas yang cocok dibuat sendiri atau DIY (do it yourself), contohnya mengimplementasinya sendiri tanpa menggunakan ekstensi pihak ketiga. Di bagian berikutnya dari seri ini, saya akan membahas bagaimana memanfaatkan berbagai ekstensi Flask untuk membuat REST API yang lebih efektif dengan cara yang lebih mudah.

Saya asumsikan kamu punya pemahaman Flask dasar dan pengaturan lingkungan menggunakan virtualenv saat mengembangkan aplikasi Python.

Instalasi Ketergantungan

Package berikut perlu diinstall untuk aplikasi yang akan kita buat.

Perintah di atas akan menginstall semua package yang dibutuhkan untuk menjalankan aplikasi ini.

Aplikasi Flask

Untuk tutorial ini, saya akan membuat aplikasi kecil di mana saya akan buat model sederhana untuk Product. Lalu saya akan mendemonstrasikan bagaimana menulis RESTful API untuk model tersebut. Di bawah ini adalah struktur dari aplikasi kita.

Saya tidak akan membuat front-end untuk aplikasi ini karena RESTful API bisa diuji langsung dengan membuat panggilan HTTP menggunakan berbagai cara.

flask_app/my_app/__init__.py

Pada file di atas, aplikasi sudah diatur dengan inisialisasi ekstensi dan pembuatan database. Pernyataan terakhir membuat database baru di lokasi yang berdasarkan SQLALCHEMY_DATABASE_URI jika database belum ada di lokasi tersebut, jika tidak, pernyataan tersebut akan membuka aplikasi dengan database yang sama.

flask_app/my_app/catalog/models.py

Pada file di atas, saya sudah umembuat model yang sangat sederhana untuk menyimpan nama dan harga Product. Ini akan membuat tabel di SQLite mengikuti detail yang disediakan pada model.

flask_app/my_app/catalog/views.py

Inti dari tutorial ini adalah menangani file di atas. Flask menyediakan kegunaan bernama pluggable view, yang membuat kamu bisa membuat view dalam bentuk kelas dibanding sebagai fungsi. Pengiriman berbasis fungsi (MethodView) adalahaah implementasi pluggable view yang membuat kamu bisa menulis fungsi yang sesuai dengan fungsi HTTP dalam huruf kecil. Pada contoh di atas, saya menulis fungsi get() dan post() mengikuti fungsi HTTP GET dan POST.

Routing juga diimplementasi dengan cara yang berbeda, dalam beberapa baris di file di atas. Kita bisa mendefinisikan fungsi yang akan didukung oleh aturan apa saja. Panggilan HTTP lain akan menghasilkan Error 405 Method not allowed.

Menjalankan Aplikasi

Untuk menjalankan aplikasi, eksekusi skrip run.py. Isi script tersebut adalah:

Sekarang eksekusi dari command line:

Untuk memeriksa apakah aplikasinya berjalan dengan benar, buka http://127.0.0.1:5000/ di browser, dan sebuah layar sederhana dengan pesan selamat datang akan menyambutmu.

Menguji RESTful API

Untuk menguji API ini, kita bisa buat panggilan HTTP menggunakan salah satu fungsi yang tersedia. Pemanggilan GET akan bisa dilakukakn langsung menggunakan browser. Panggilan POST bisa dibuat menggunakan ekstensi Chrome seperpti Postman atau dari command line menggunakan curl, atau kita bisa menggunakan library requests untuk melakukannya. Saya akan menggunakan library requests di sini dalam rangka demonstrasi.

Pertama kita buat panggilan GET untuk memastikan kita tidak punya produk yang sudah dibuat. Sesuai desain RESTful API, panggilan get seperti /product/ akan mendaftar semua produk. Lalu saya akan buat beberapa produk dengan membuat panggilan POST terhadap /product/ dengan beberapa data. Lalu panggilan GET pada /product/ akan mendaftar semua produk yang dibuat. Untuk mendapatkan produk tertentu, bisa kita lakukan dengan membuat panggilan GET terhadap /product/<product id>. Di bawah ini adalah contoh dari semua pemanggilan yang bisa digunakan pada contoh ini.

Kesimpulan

Pada tutorial ini, kamu lihat bagaimana membuat antarmuka RESTful kamu sendiri menggunakan kegunaan pluggable view dari Flask. Ini adalah pendekatan paling fleksibel untuk membuat REST API, tapi membutuhkan banyak kode untuk ditulis.

Ada ekstensi yang memudahkan dan mengotomasi pembuatan RESTful API. Saya akan membahasnya di beberapa bagian berikutnya dari seri tutorial ini.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.