Creating a Simple Rest Api Using the Django Rest Framework
find me on github : https://github.com/ridhomr
hi all, pada writeup kali ini saya ingin membahas mengenai restapi pada django menggunakan rest_framework. mungkin sebagian dari kalian sudah tidak asing lagi mengenai api Pada umumnya REST memanfaatkan empat metode di HTTP, yaitu: GET, POST, PUT, DELETE apa itu? bisa kalian baca” di google untuk lebih memperjelas.
Apa itu RESTful API?
API. (Application Programming Interface) adalah kumpulan aturan yang memungkinkan dua atau lebih program untuk berkomunikasi satu sama lain. API dibuat di server untuk kemudian dapat memungkinkan client untuk dapat berkomunikasi dengannya.
REST. (Representational State Transfer) adalah jenis dari API atau yang menggambarkan bentuk dari API itu seperti apa. REST adalah kumpulan aturan yang diikuti oleh developer untuk membuat API. Mmm, masih bingung?
Bayangkan kamu memiliki sebuah server dengan sebuah database yang berisi data-data penting yang ingin kamu bagi ke beberapa program lain yang mungkin juga dibuat oleh orang lain. Kamu tidak mungkin kan memberikan akses ke database-mu secara penuh kepada program yang mungkin dibuat oleh orang lain? mereka bisa saja merusak data yang ada di database yang ada pada servermu atau mengakses data-data private yang tidak ingin kamu bagikan.
Untuk membuat Rest API dengan Django, yang perlu dipersiapkan yaitu :
- python -V 3
- membuat virtual environment
- install package django, mysqlclient dan restframework didalam virtual env
- santui + kopi dan senja (biar kayak anak indie) awowkok… oke langsung saja ya kita mulai tutorial nya…
- yaitu kita membuat virtualenv pada komputer kita
dengan cara mengetikkan “python -m venv env” baik untuk windows maupun linux
2. yang kedua mengaktifkan virtualenv tersebut untuk kalian pengguna
windows :
cukup mengetikkan : venv/scripts/activate.bat atau bisa juga venv/scripts/activate
Linux :
untuk pengguna setia linux cukup mengetikkan : source env.bin.activate
setelah itu install django di dalam env tersebut dengan mengetikkan pip install django jika belum memahami virtualenv bisa di baca pada link ini : https://ridhomarhaban2000.medium.com/cara-install-django-framework-di-windows-55fe9e7b2b46
2. install package rest framework ketikkan “pip install djangorestframework”
3. setelah alat tempur environtment setting sudah di persiapkan selanjutnya membuat project.
4. untuk membuat project ketikkan “django-admin startproject nama_project” project saya beri nama restapiframework
5. lalu kita masuk ke project kita dengan mengetikkan cd <nama_project> dan membuat app dengan mengetikkan django-admin startapp <nm_app> disini saya memberi nama app nya “api”
6. selanjutnya kita setting terlebih dahulu untuk menyimpan file database yang nanti nya akan kita migrate. buka editor dan buka pada setting.py kita akan setting konfigurasi database disini saya menggunakan MYSQL
7. selanjutnya kita migrate “python manage.py migrate”
8. cek pada phpmyadmin memastikan apakah tabel sudah terbuat masuk ke localhost/phpmyadmin
9. Buat model yang akan dibuat pada direktori app yang telah dibuat selelumnya, contoh kode pada models.py
10. Sekarang saatnya kita akan menampilkan model tersebut menjadi sebuah “halaman khusus” di halaman admin Django.
11. setelah itu kita makemigrations untuk melakukan perubahan dan migrate untuk menambahkan table di dalam database ketikkan “python manage.py makemigrations” lalu ketikkan “python manage.py migrate”
12. selanjutnya membuat serializers , ini adalah bagian penting pembuatan endpoint API. Serializer berfungsi untuk mengatur data-data apa saja yang akan kita keluarkan melalui endpoint API
13. membuat View untuk menampilkan hasil dari serializers
14. urls endpoint API yang telah dibuat di project
15. setelah selesai kita membuat superuser pada django kita ketikkan “python manage.py createsuperuser”
16. selanjutnya kita coba jalankan
17. masuk ke http://127.0.0.1:8000/admin dan masukkan user dan password yang telah dibuat sebelum nya
18. klik add tabel karyawan lalu isi data
Selanjutnya kita akan akses API yang sudah dibuat sebelumnya dengan cara masuk ke http://127.0.0.1:8000/api/karyawan/
19. Api tersebut untuk metod GET semua data pada tabel karywan. Untuk mencoba method POST masukkan data seperti pada gambar
20. Selanjutnya kita coba untuk method PUT dan DELETE. Pada url sebelumnya tambahkan /id_karywan. Contoh :
http://127.0.0.1:8000/api/karyawan/1/
http://127.0.0.1:8000/api/karyawan/2/
21. klik DELETE untuk menjalankan method DELETE atau isi form form dan klik PUT untuk melakukan perubahan data karywan dengan id = 2.
referensi :