Part 1: Apa REST Ing bagean iki kita bakal nliti cara komunikasi antarane klien lan server. Sadawane dalan, kita bakal mbukak istilah anyar lan menehi panjelasan. Kanggo nggawe kabeh (dadi) cetha, kita bakal nganalisa komunikasi klien-server nggunakake conto sawetara aplikasi RESTful. Contone, kita ngembangake aplikasi web sing bisa nyimpen informasi babagan pelanggan lan pesenan. Sing. sistem kita bisa ngapusi sawetara entitas: nggawe, nyunting, mbusak, lan menehi informasi babagan. Entitas kasebut bakal dadi:
- klien - klien;
- pesenan - pesenan pelanggan;
- barang - barang.
Njaluk
Panjaluk klien meh tansah digawe liwat HTTP. Umumé, panjalukan HTTP kalebu sawetara komponen:- cara HTTP;
- judhul;
- URI;
- njaluk awak.
URI lan Sumber Daya
Data sing ditampa utawa diowahi klien liwat panjalukan diarani sumber daya. Basis interaksi klien-server yaiku manipulasi sumber daya. Sumber daya ing REST yaiku apa wae sing bisa diwenehi jeneng. Ing pangertèn, iki kaya kelas ing Jawa. Ing Jawa kita bisa nggawe kelas kanggo apa wae. Iku padha ing REST - sumber bisa apa wae: pangguna, dokumen, laporan, pesenan. Kabeh iki bisa uga minangka abstraksi saka sawetara entitas utawa soko konkrit, contone, file - gambar, video, animasi, file PDF. Contone, kita duwe 3 sumber daya:- klien - klien;
- pesenan - pesenan pelanggan;
- barang - barang.
- / klien - URI kabeh klien sing ana;
- /clients/23 - URI saka klien tartamtu, yaiku klien karo ID=23;
- /clients/4 - URI saka klien tartamtu, yaiku klien karo ID=4.
- /clients/4/orders — URI kabeh pesenan klien No.
- / klien / 1 / pesenan / 12 - URI pesenan No.. 12 saka klien No.. 1.
- /clients/1/orders/12/item — URI saka dhaptar kabeh produk ing urutan No.. 12 digawe dening klien No.. 1.
metode HTTP
Metode HTTP (Metode HTTP Inggris) minangka urutan karakter apa wae, kajaba kontrol lan separator, sing nuduhake operasi utama ing sumber daya. Ana sawetara cara HTTP umum. Kita dhaptar sing paling asring digunakake ing layanan RESTful:- GET - digunakake kanggo njupuk informasi babagan sumber daya tartamtu (liwat ID) utawa koleksi sumber;
- POST - digunakake kanggo nggawe sumber anyar;
- PUT - digunakake kanggo ngganti sumber daya (liwat ID);
- DELETE - digunakake kanggo mbusak sumber daya (liwat ID).
Judhul
Panjaluk, uga tanggapan, ngemot header HTTP. Padha ngirim informasi tambahan babagan panjalukan (utawa respon). Header minangka pasangan kunci-nilai. Sampeyan bisa maca dhaptar judhul sing paling umum ing kaca Wikipedia . Kanthi REST, klien asring bisa ngirim header Tampa ing panjaluke menyang server. Sampeyan perlu supaya server ngerti ing format apa klien ngarepake kanggo nampa respon saka iku. Macem-macem opsi format ditampilake ing dhaptar jinis MIME sing disebut. MIME (Multipurpose Internet Mail Extensions) minangka spesifikasi kanggo enkoding informasi lan format pesen supaya bisa dikirim liwat Internet. Saben jinis MIME kasusun saka rong bagéan, dipisahake kanthi garis miring: jinis lan subtipe. Conto jinis MIME kanggo macem-macem jinis file:- teks - teks / polos, teks / css, teks / html;
- gambar - gambar/png, gambar/jpeg, gambar/gif;
- audio - audio / wav, audio / mpeg;
- video - video / mp4, video / ogg;
- aplikasi - application/json, application/pdf, application/xml, application/octet-stream.
Accept:application/json
Header iki ngandhani server yen klien ngarepake nampa respon ing format JSON.
Njaluk awak
Pesen sing dikirim dening klien menyang server. Apa panjaluk duwe awak utawa ora gumantung saka jinis panjalukan HTTP. Contone, panjalukan GET lan DELETE biasane ora ngemot badan panjaluk. Nanging PUT lan POST bisa ngemot: kabeh babagan tujuan fungsional saka jinis panyuwunan. Sawise kabeh, kanggo nampa data lan mbusak kanthi id (sing dikirim ing URL), sampeyan ora perlu ngirim data tambahan menyang server. Nanging kanggo nggawe sumber daya anyar (POST request), sampeyan kudu nransfer sumber daya iki. Semono uga kanggo ngowahi sumber daya sing ana. Ing REST, format XML utawa JSON paling kerep digunakake kanggo ngirim badan panyuwunan. Format paling umum yaiku JSON. Upaminipun kita arep ngirim panjalukan kanggo server, lan ing nggawe sumber anyar. Yen sampeyan ngelingi, minangka conto, kita ndeleng aplikasi sing ngatur pesenan pelanggan. Ayo, kita pengin nggawe klien anyar. Ing kasus kita, kita nyimpen informasi ing ngisor iki babagan klien: Jeneng Email Nomer telpon Banjur awak panjaluk kasebut bisa dadi JSON ing ngisor iki:{
"name" : "Amigo",
"email" : "amigo@jr.com",
"phone" : "+7 (191) 746-43-23"
}
Nggawe panjalukan bebarengan
Dadi, kita wis ndeleng apa panjaluk klien bisa kalebu. Ayo saiki menehi sawetara conto pitakon kanthi deskripsiPanjaluk | Katrangan |
---|---|
|
Entuk informasi babagan klien No. 23 ing format json utawa xml |
|
Gawe klien anyar nganggo kolom ing ngisor iki: Jeneng - Amigo Email - amigo@jr.com Telp. — +7 (191) 746-43-23 |
|
Sunting klien #1 minangka nderek: Jeneng - Ben Email - bigben@jr.com Tel. — +380 (190) 346-42-13 |
|
Mbusak pesenan No.. 6 saka customer No.. 12 saka sistem |
Wangsulan
Ayo ngomong sawetara tembung babagan respon server. Jawaban biasane kasusun saka bagean ing ngisor iki:- kode respon;
- header;
- awak respon.
Kode respon HTTP
Ayo dideleng kanthi luwih cetha babagan kode respon HTTP. Punika kutipan saka Wikipedia: Kode status HTTP minangka bagéan saka baris pisanan saka respon server kanggo panjalukan liwat protokol HTTP. Iki minangka integer kanthi telung digit desimal. Digit pisanan nuduhake kelas kondisi. Kode respon biasane ngiring dening frase panjelasan ing basa Inggris dipisahake dening spasi, kang nerangake kanggo wong alesan kanggo respon tartamtu iki. Tuladha:- 201 Digawe;
- 401 Ora sah;
- 507 Panyimpenan ora cukup.
- 1ХХ - informasi;
- 2ХХ - ngandhani babagan kasus nampa sukses lan ngolah panjaluk klien;
- 3XX - ngandhani klien yen supaya bisa ngrampungake operasi kasebut, perlu nggawe panyuwunan liyane, biasane nggunakake URI sing beda;
- 4ХХ - kesalahan klien. Contone, panjalukan sing salah dibangun utawa kode 404 Not Found sing kondhang, sing bisa kedadeyan nalika klien njaluk sumber daya sing ora ana;
- 5ХХ - kesalahan server. Bali menyang klien yen operasi gagal amarga fault saka server.
GO TO FULL VERSION