lifelong learner — urip iku urup, currently working on accenture.

Uji coba web services pada browser

0
Degananda.com -

Pengujian webservice sebisa mungkin tidak dilakukan di kode, karena akan membuang sangat banyak waktu. Gunakan tools yang ada pada browser. ringan dan mudah untuk digunakan. Ulasan ini akan membahas salah satu addons pada firefox. Silahkan membaca ulasan ini.

1. introduction

Setelah kita membuat web services pada platform tertentu contohnya nodejs , php ataupun rail maka langkah selanjutnya adalah melakukan uji coba. Proses ini dapat kita lakukan langsung dengan client frontend yang kita gunakan misalnya, angularjs / react ataupun tanpa framework dan langsung memangil melalui kode http request. Jika kita melakukannya dengan proses seperti itu(dengan coding) maka akan banyak sekali waktu yang kita buang. Maka pada ulasan ini akan membahas sebuah tools yang sangat berguna untuk melakukan uji coba terhadap endpoint dari web services yang telah kita buat.

Tools yang kami gunakan adalah RESTClient yang merupakan addons dari firefox. Namun , jika anda menggunakan chrome kami menyarakan untuk menggunakan Postman. Pada intinnya pilihlah debugger untuk melakukan http request yang sesuai dengan preferensi anda namun jika boleh merekomendasikan maka kami memilih add ons RESTClient karena sangat ringan dan simpel. (UI nya lebih minimalis dibandingkan dengan post man)

web service yang di uji :

https://degananda.com/2017/06/02/membuat-restful-api-dengan-hapi-dan-mysql/

2. Restclient addons

anda dapat menginstall restclient ini di addons firefox atau dapat mengunjungi halaman github restclient.

https://github.com/chao/RESTClient

rest client memiliki tampilan yang sangat sederhana.

sesaat kita membuka add-ons tersebut kita langsung dihadapkan dengan form yang berisi mengenai detail dari http request yang akan dilakukan. Hal inilah yang membuat kami sangat nyaman dengan restclient. Berikut ini sedikit penjelasan mengenai menu dan form yang ada di rest client.

  1. authentication,
    jika kita hendak mengakses web service yang memiliki autentikasi misalnya basic auth / oauth / oauth2 maka kita dapat melakukan konfigurasi di sini.
  2. headers.
    setiap web services memiliki spesifikasi tersendiri, ada yang menerima data berupa JSON ada juga yang tidak. dan juga ketika membutuhkan custom header (biasannya untuk api key) maka kita dapat membuat custom header tersebut disini
  3. form method
    method yang digunakan dalam mengakses http, GET , POST, DELETE, PUT dan lain-lain
  4. URL
    URL end point dari api/ web services yang akan kita akses.
  5. body
    Request body yang kita berikan ke server , biasannya untuk http method POST atau PUT karena berkaitkan dengan melakukan modifikasi data pada database.

3.Pengujian

untuk melakukan pengujian tentunnya kita membutuhkan web services. Pada ulasan ini kami menggunakan web services yang ada pada salah satu ulasan di blog ini yaitu : https://degananda.com/2017/06/02/membuat-restful-api-dengan-hapi-dan-mysql/. web service tersebut dibangun dengan menggunakan hapi dan mysql.

3.1 Spesifikasi web service yang di uji

Pada bagian ini dijelaskan mengenai endpoint yang ada pada web services hapi tersebut. detailnya adalah sebagai berikut ini :

No Http Method Endpoint Request body Keterangan
1 GET /note tidak ada menampilkan semua data note.
2 GET /note/{id} tidak ada menampilkan data note sesuai id (single)
3 POST /note isi_note => string menambahkan note berdasarkan isi note pada body
4 PUT /note/{id} isi_note => string mengubah note sesuai id berdasarkan isi note pada body
5 DELETE /note/{id} tidak ada menghapus note sesuai dengan id

sedangkan untuk spesifikasi header :

  1. response type : application/json
  2. authentikasi : tidak ada
  3. custom header /api key : tidak ada

3.2 Uji coba endpoint 1

endpoint nomor 1 ini menggunakan http method get tanpa ada body maka ini adalah konfigurasinnya pada RestCLIENT. endpoint ini juga tidak membutuhkan header application/json karena kita hanya menerima data bukan mengirimkan data.

maka setelah dieksekusi akan menampilkan daftar node pada tabel.

3.3 pengujian endpoint 2

endpoint kedua ini berlokasi di : /note/{id} kita akan gunakan id 2. kita juga tidak perlu menset header karena hanya akan menerima data. Endpoint ini juga tidak memerlukan request body.

3.4 Pengujian endpoint 3

endpoint tiga ini memiliki body berupa isi_note dan bertipe data string yang dikemas dalam bentuk JSON hanya dapat dibaca oleh web service apabila kita menggunakan header application/json. endpointnya adalah /note dengan http method POST.

done, untuk endpoint ke-4 dan 5 sama seperti ketiga endpoint diatas hanya terletak diperbedaan header , endpoint dan request body yang harus dimasukan. Jika kita melakukan POST ataupun PUT tanpa menggunakan header maka yang akan terjadi adalah (berdasarkan web service hapi mysql ini) :

meskipun kita telah mendefinisikan request body namun server tidak akan dapat mengenali request body tersebut karena kita tidak mendefinisikan header. Maka kita harus cermat dalam melihat detail dari endpoint. Jika memang memerlukan untuk mengirim data maka jangan lupa untuk menambahkan header sesuai dengan dokumentasi web services tersebut.