Build and Monitoring Your API — Resume of Meetup NBC001
Februari 2019, sukses diadakan meetup kolaborasi antara Ngalam Backend Community (NBC) dan Malang Qualiy Assurance (MQA) dengan mendatangkan ketiga pemateri yaitu Mahrus Khomani dari Onehub Solution, Pte. Ltd. , Abila Aprilia dan Halim Tuhu P. dari DOT Indonesia. Pembahasan materi pada bulan ini adalah mengenai Build and Monitoring Your API.
Building and Monitoring API
Pengenalan API development
API adalah Application Programming Interface yang bisa disebut sebagai kumpulan intruksi program / protokol untuk membangun sebuah perangkat lunak. API memiliki peran untuk mengintruksikan / mengkomunikasikan pesan yang menerima permintaan dari pengguna dan memberitahu sistem apa yang perlu dilakukan.
Bila dicontohkan secara kasus nyata sebagai resepsionis di hotel yaitu kita (application) sebagai orang yang ingin memesan sebuah kamar(data) di hotel (application). Resepsionis (API) sebagai perantara untuk mendapatkan informasi kamar (data) yang tersedia di hotel (application) itu.
RESTful API
REST API merupakan implementasi dari API yang mana REST (Representional State Transfer) adalah suatu arsitektur metode komunikasi yang menggunakan protokol HTTP untuk pertukaran data dan metode ini sering diterapkan dalam pengembangan aplikasi. Dimana tujuannya adalah untuk menjadikan sistem yang memiliki performa yang baik, cepat dan mudah untuk di kembangkan (scale) terutama dalam pertukaran dan komunikasi data.
Komponen RESTful API
Kalau kita contohkan, sebuah client mengirimkan sebuah data melalui HTTP Request dan kemudian server merespon melalui HTTP Response, maka akan terdapat komponen dari HTTP Request yaitu:
- Verb, HTTP method yang pada umumnya digunakan seperti GET, POST, DELETE, PUT, dan lain lain.
- URL (Uniform Resource Identifier ) untuk mengetahui lokasi resource pada server yang dituju
- HTTP Version menunjukkan versi dari HTTP yang saat ini sedang digunakan. Misalkan versi v1
- Request Header berisikan emtadata untuk HTTP Request. Misalkan type client/browser, format yang didukung oleh client, format dari body pesan dan lain lain.
Sedangkan komponen http response :
- Status / Response code, berisikan status server terhadap request yang diterima. Misalkan code 404, 200
- HTTP Version menunjukkan versi HTTP yang digunakan
- Response Header berisikan metadata untuk HTTP Response
- Response Body berisikan konten data yang diberikan
Memulai Membangun sebuah API
- Merancang end point atau URL
- Merancang request yang dibutuhkan
- Merancang response dengan template yang konsisten
- Handling error
- Security
Ketika kita selesai membangun sebuah API , maka yang perlu kitaa lakukan adalah dengan me-monitoring API tersebut. Caranya dengan memeriksa response pada semua state dan memeriksa validitas request tersebut.
Build API With Django REST Framework
Salah satu tools untuk membuat REST API adalah dengan menggunakan Django REST Framework. Sebuah framework yang powerfull dan fleksibel untuk membangun API Web. Anda dapat membacanya di tautan berikut :
Berikut adalah sedikit dari kebutuhan dalam penggunaan Django REST Framework. Install dengan menggunakan pip
:
pip install djangorestframework
pip install markdown
pip install django-filter
Selanjutnya menambahkan rest_framework
pada INSTALLED_APPS
INSTALLED_APPS = (
...
'rest_framework',
)
Serializers
Merupupakan bagaimana data bisa direpresentasikan. Ada beberapa jenis serializers yaitu BaseSerializer, HyperlinkedModelSerializer, ListSerializer, ModelSerializer, dan Serializer
Class Based Views
Sebuah pattern yang mengizinkan kita bisa menggunakan common functionality. Beberapa jenisnya yaitu Mixins, Generics, dan Viewsets.
Berikut adalah cuplikan video meetup februari :
Slide
Anda dapat mendownload dan melihat materinya di tautan berikut :
Materi oleh Halim Tuhu P. :
Materi oleh Mahrus K. :
Materi oleh Abila Aprilia :
Ikuti update terbaru dari komunitas Ngalam Backend Community di twitter dan instagram.
Sekian rangkuman Meetup February 2019 mengenai Build and Monitoring Your API, sampai jumpa pada Meetup March 2019 ya!