Dokumentasi RESTful API Flask Menggunakan Swagger

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
Dokumentasi RESTful API Flask Menggunakan Swagger

Flask merupakan salah satu framework python yang cukup populer. Flask menerapkan konsep kode yang sederhana sehingga flask sangat cocok untuk membangun sebuah RESTful API.

Jika masih belum terbiasa dengan Flask, kamu dapat membaca dan mempelajari dokumentasinya di sini 

untuk mengikuti tutorial ini kamu dapat membaca tutorial sebelumnya tentang instalasi flask framework.  selanjutnya ikuti kita akan membuat Rest Api sederhana yang menampilkan list sebuah produk.

pertama buat sebuah list dictionary

produk = [
{
'id':'1',
'product_name':'kacang panjang',
'jumlah':'1kg'
},
{
'id':'2',
'product_name':'kacang tanah',
'jumlah':'1kg'
},
{
'id':'3',
'product_name':'buncis',
'jumlah':'1kg'
}
]

kita akan membuat Rest API yang berisi data-data bahan pangan :)

setelah melakukan instalasi flask, buat sebuah file dengan nama main.py

from flask import Flask
from flask import jsonify

app = Flask(__name__)

@app.route('/')
def hello_world():
return jsonify({'message':'hello world'})

if __name__ == "__main__":
app.run(host='0.0.0.0')

 

dari kode diatas kita bisa menemukan 3 hal penting

Pertama, konfigruasi default framework flask

app = Flask(__name__)

app adalah variable yang digunakan untuk menampung routing konfigurasi Flask Framework.

 

Kedua, url routing

@app.route('/')

di bagian ini kita bisa memodifikasi url sesuai dengan kebutuhan kita.



baca artikel lainya  Rest API Golang Mongodb



 

Ketiga, konfigurasi http host

if __name__ == "__main__":
app.run(host='0.0.0.0')

di bagian ini kita memodifikasi alamat host dan juga mengubah port default dari project kita

sekarang coba jalankan project yang telah kita buat dengan perintah python main.py

konfigurasi Rest API tahap awal telah selesai, selanjutnya kita akan membuat dokumentasi Rest API dengan menggunakan swagger.

kali ini kita akan memanfaatkan sebuah library bernama Flask-RESTPlus’s .

Flask-RESTPlus adalah ekstensi untuk Flask yang menambahkan dukungan untuk membangun REST API dengan cepat. Flask-RESTPlus mendukung praktik terbaik dengan pengaturan minimal. Flask-RESTPlus mengekspos dokumentasi API menggunakan Swagger.

install flask-restplus dengan pip

pip install flask-restplus

selanjutnya kita akan memodifikasi file main.py dan mengintegrasikan FLASK-RESPlus ke dalamnya.

import library Flask-restplus yang akan kita pakai pada project ini


from flask_restplus import Api, Resource, fields


selanjutnya kita akan membuat beberapa konfigurasi :

  • flask-restplus routing

  • flask-resplus namespace

  • flask-resplus model construct

  • url routing


Flask-resplus routing

api = Api(app, version='1.0', title='Sembako API',
description='Sembako API V 1.0',
)



Flask-resplus namespace

smbk = api.namespace('sembako', description='Sembako API')



 

Flask-resplus model construct

produk_model = smbk.model('Sembako',{
'id': fields.Integer(required=True, description='The sembako identifier'),
'product_name': fields.String(required=True, description='The sembako product name'),
'jumlah': fields.String(required=True, description='The sembako jumlah')
})



Url Routing

@smbk.route('/produk')
class Produk_all(Resource):
@smbk.doc('get_produk_model')
@smbk.marshal_with(produk_model)
def get(self):
return produk



 

untuk kode langkapnya bisa di dapatkan disini

hasil akhirnya jika semua berjalan lancar sebagai berikut

dokumentasi RESTful API dengan Swagger dokumentasi RESTful API dengan Swagger

baca artikel lainya :