PHP LUMEN CONTENT NEGOTIATION

PHP Lumen Content Negotiation

Image result for php lumen


   DI tutorial kali ini akan menjelaskan tentang content negotiation, 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.
   Jenis data yang akan kita buat yaitu dalam bentuk JSON atau XML. Langsung saja kita modifikasi yang telah kita buat sebelumnya.Pertama yang akan kita lakukan adalah mendownload terlebih dahulu library dari xml menggunakan composer.


   Lalu modifikasi method store, jadi akan menentukan format response berdasarkan Accept Header


   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


Screenshot_114


Lalu klik Send, dan ini hasilnya

Screenshot_121



   Mengapa demikian ? 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/json.

Screenshot_115

Sekarang kita coba ubah valuenya menjadi ‘application/xml’.

Screenshot_115

Maka response yang muncul dalam bentuk xml seperti berikut.

Screenshot_118.png



Method Show
Screenshot_137.png

Lakukan test tanpa parameter Accept Header.

Screenshot_124.png

Masukkan parameter application/json.

Screenshot_126.png

Masukkan parameter application/xml.

Screenshot_125.png


Method Update

Screenshot_143.png

Lakukan test tanpa parameter Accept Header.
Screenshot_136

Masukkan parameter application/json.
Screenshot_134.png

Masukkan parameter application/xml.
Screenshot_144.png

Method Destroy
Screenshot_142.png
Lakukan test tanpa parameter Accept Header.
Screenshot_141.png
Masukkan parameter application/json.
Screenshot_140.png
Masukkan parameter application/xml.
Screenshot_139.png
Selanjutnya kita akan mengimplementasikan Content-Type Header pada function update, pertama kita kunjungi method update kemudian modifikasi scriptnya seperti berikut.
Screenshot_145.png
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 12. Maka response akan seperti berikut karena belum kita beri parameter di headers nya.
Screenshot_146.png
Sekarang kita berikan parameter Accept di headernya, maka response akan seperti berikut.
Screenshot_147.png
Maka sekarang kita tambahkan parameter Content-Type, sehingga response akan seperti berikut.
Screenshot_148.png
Selanjutnya kita coba untuk response xml, hapus parameter headers terlebih dahulu, kita coba buat format json yang baru, maka response akan seperti berikut.
Screenshot_149.png
Ketika kita tambahkan parameter Accept pada header, maka response akan seperti berikut.
Screenshot_150.png
Selanjutnya tambahkan parameter kedua Content-Type, maka response akan seperti berikut.
Screenshot_151.png
Sekian untuk tutorial kali ini, semoga bermanfaat.

Comments

Popular posts from this blog

Microservice

TUTORIAL UNITY - PRO BUILDER

Component vue.js