Note Informatic

PHP LUMEN CONTENT NEGOTIATION

Pertama yang akan kita lakukan adalah mendownload terlebih dahulu library dari xml menggunakan composer.
composer require ext-simplexml
Lalu kita modifikasi method store, jadi kita akan tentukan format response berdasarkan Acccept Header. Maksudnya bagaimana ? jadi 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.


Lalu klik send, maka response akan seperti berikut.

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.

Maka response akan seperti berikut.




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

Maka response yang muncul dalam bentuk xml seperti berikut.


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

Method Show



 Lakukan test tanpa parameter Accept Header.

Masukkan parameter application/json.

Masukkan parameter application/xml.
 Method Update

Lakukan test tanpa parameter Accept Header.



Masukkan parameter application/json.



Masukkan parameter application/xml.
 
Method Destroy

Lakukan test tanpa parameter Accept Header.



Masukkan parameter application/json.
Masukkan parameter application/xml.




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 12. Maka response akan seperti berikut karena belum kita beri parameter di headers nya.

Sekarang kita berikan parameter Accept di headernya, maka response akan seperti berikut.

Mengapa ? karena kita telah memberikan kondisi pada method update untuk menambahkan parameter kedua yaitu Content-Type, maka sekarang kita tambahkan parameter 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 untuk tutorial kali ini, selamat mencoba  , SEMOGA BERHASIL

0 komentar:

Posting Komentar

 

Note Teknik Informatic Template by Ipietoon Cute Blog Design