Thursday, November 7, 2019

PHP lumen Response Api Content Negotiation

Tutorial kali ini saya akan menjelaskan apa itu content negotiation dan bagaimana implementasi di postman. Jadi Content Negotiation adalah mekanisme untuk memilih resource representation yang sesuai ketika melayani HTTP request, mekanisme ini memberikan kemampuan kepada Server untuk memahami jenis data apa yang diterima dan format response apa yang diharapkan oleh Client. jika anda telah membuat tutorial yang sebelumnya kita buat maka pada tutorial kali ini kita hanya tinggal modifikasi saja. 

Jenis data yang akan kita buat yaitu dalam bentuk JSON atau XML.



Pertama yang akan kita lakukan adalah mendownload terlebih dahulu library dari xml menggunakan composer



kemudian modifikasi method store, jadi kita akan tentukan format response berdasarkan Acccept Header. Maksudnya  ketika accept header kita set value nya menjadi application/json, maka response akan berbentuk format json, sedangkan ketika kita set value nya menjadi application/xml, maka response dalam bentuk xml. Langsung saja kita arahkan ke method store, dan modifikasi script menjadi berikut.


Lakukan test pada aplikasi Postman, masukkan URL endpoint untuk melakukan fungsi store, atur method nya menjadi POST. Masuk ke tab body lalu isi key dan value dari setiap field nya.


ketika kita klik "send" maka tampilannya seperti berikut


Hasinya "Not Acceptable" karena kita telah memberikan kondisi dimana perlu adanya parameter tambahan dibagian Headers dengan key ‘Accept’ yang value nya ‘application/json’ atau ‘application/xml’. Untuk itu kita masuk ke tab header lalu isi parameter Accept nya application/xml.


maka ketika kita klik "send" akan tampil seperti berikut

Selanjutnya kita implementasikan pada method show, update, dan delete.

Method Show


Lakukan test tanpa parameter Accept Header.


Masukkan parameter application/json maka akan tampil sepeti berikut


kemudian kita coba masukkan parameter application/xml.




Method Update



Coba laukukan test tanpa parameter Accept Header.


lalu masukkan parameter application/json.


Masukkan parameter application/xml.



Method Destroy



jika kita melakukan test tanpa parameter AcceptHeader maka hasilnya akan " Not Acceptable"
apabila kita masukkan parameter application/json maka akan tampil sebagai berikut


jika kita masukkan parameter application/xml maka akan tapil seperti berikut


Selanjutnya kita akan mengimplementasikan Content-Type Header pada function update, jadi selain perlu parameter Accept, kita juga akan menerapkan parameter Content-Type, pertama kita kunjungi method update kemudian modifikasi scriptnya seperti berikut.




Jadi setelah kita cek parameter Accept nya, kita pun cek parameter Content-Type nya. Jika tidak ada parameter Content-Type, maka responnya adalah Unsupported Media Type. Kita lakukan test pada postman, masuk ke tab body, kemudia klik raw, ketikkan format json dalam bentuk key dan value untuk melakukan perubahan pada table posts id 3. Maka response akan seperti berikut karena belum kita beri parameter di headers nya.



sekarang kita tambahkan parameter Accept dan Content-Type, sehingga response akan seperti berikut.


Selanjutnya kita coba untuk response xml, hapus parameter headers terlebih dahulu, kita coba buat format json yang baru, maka response akan seperti berikut.




Ketika kita tambahkan parameter Accept pada header, maka response akan seperti berikut.


Selanjutnya tambahkan parameter kedua Content-Type, maka response akan seperti berikut.



sekian tutorial kali ini selamata mencoba!!!!!!

No comments:

Post a Comment

Architecture Microservices

  Microservice merupakan pengembangan dari Monolitik Arsitektur. Microservice ini merupakan kumpulan proses independen dan kecil yang ...