Dumb Ways to Learn
[Link]
#15. REST API TEST DENGAN
POSTMAN
Postman adalah sebuah Platform GUI yang powerfull
untuk membuat proses development API menjadi
cepat dan mudah, dari membuat API request hingga
melakukan testing, documentation dan sharing.
Silakan download Postman melalui link berikut
[Link] Klik tombol
download sesuai pada gambar 15.1, pilih Os Anda
atau gunakan Postman chrome plugin, sehingga
Postman siap diinstall dan digunakan.
Gambar 15.1 Website Postman
113
Dumb Ways to Learn
[Link]
Dumb Ways to Learn
[Link]
Buka kembali project laravel Anda melalui text
editor, dan buka file “routes/[Link]”. Uncomment
semua router yang masih kita comment
sebelumnya.
Gambar 15.2 Uncomment Router Post Put Delete
Buka Postman dan lakukan test pada GET method
terlebih dahulu. Ingat, GET question sebelumnya
telah kita arahkan pada “QuestionController”
dengan action index.
114
Dumb Ways to Learn
[Link]
Dumb Ways to Learn
[Link]
Gambar 15.3 Postman Test GET
Bisa kita lihat bahwa response pada Postman di atas
masih berupa HTML, setidaknya kita memerlukan
response berupa JSON supaya data bisa diolah di
sisi client. Untuk itu ubah echo pada kode menjadi
return JSON pada “[Link]” action
index, sesuai pada gambar 15.4.
Gambar 15.4 Ubah Echo menjadi Return pada QuestionController Method Index
Kita coba lagi method GET dengan Postman, dan
pastikan hasilnya menjadi JSON seperti pada
gambar 15.5.
115
Dumb Ways to Learn
[Link]
Dumb Ways to Learn
[Link]
Gambar 15.5 Return JSON pada Postman
Sekarang tugas Anda adalah membuat semua router
memiliki JSON return value, dan menggunakan
Controller sebagai pengalih traffic. Update “routes/
[Link]” seperti pada gambar 15.6.
Gambar 15.6 All Router to Controller
116
Dumb Ways to Learn
[Link]
Dumb Ways to Learn
[Link]
Kemudian update juga “[Link]”
sesuai action yang dibutuhkan pada router. Lihat
gambar 15.7.
Gambar 15.7 QuestionController Lengkap dengan JSON Return
Penjelasan kode dapat dilihat melalui komen yang
tercantum.
117
Dumb Ways to Learn
[Link]
Dumb Ways to Learn
[Link]
Setelah semua method ada, tugas kita selanjutnya
adalah melakukan pengetestan satu persatu method
yang sudah ada. Karena GET ALL sudah kita test,
sekarang kita coba method GET ONE. Lihat gambar
15.8.
Gambar 15.8 Hasil Request GET ONE
Sekarang kita coba method POST, pastikan Anda
juga mengisi body sebagai isian Form input.
Gambar 15.9 Hasil POST Request
118
Dumb Ways to Learn
[Link]
Dumb Ways to Learn
[Link]
Bisa kita lihat pada gambar 15.9, bahwa request
terkirim tapi kita memiliki error response 500 atau
error dari server, yaitu TokenMissMatchException
karena gagal melakukan VerifyCsrfToken. Secara
default Laravel memastikan supaya request POST/
PUT/DELETE supaya terhindar dari serangan Csrf
([Link] Pada buku ini,
kita tidak akan membahas terlalu jauh tentang Csrf,
dan kita akan menonaktifkan Csrf dengan cara
mengedit file “app/Http/Middleware/
[Link]” sesuai pada gambar 15.10.
Gambar 15.10 Menonaktifkan Csrf pada Router question
Dengan demikian maka semua router question tidak
akan dicek menggunakan Csrf Token terlebih
dahulu, sehingga kita bisa menjalankan ulang
119
Dumb Ways to Learn
[Link]
Dumb Ways to Learn
[Link]
Postman dan memperoleh hasil sesuai pada gambar
15.11.
Gambar 15.11 POST Request Berhasil
Kita coba juga untuk melakukan request pada PUT
method. Lihat gambar 15.12.
Gambar 15.12 PUT Request Berhasil
120
Dumb Ways to Learn
[Link]
Dumb Ways to Learn
[Link]
Terakhir kita juga akan mencoba melakukan request
pada method DELETE. Lihat gambar 15.13.
Gambar 15.13 DELETE Request Berhasil
121
Dumb Ways to Learn
[Link]