1-nji bölüm: REST näme? Bu bölümde müşderi bilen serweriň arasynda aragatnaşygyň nähili bolýandygyna has içgin serederis. Wayolda täze terminleri açarys we olar üçin düşündiriş bereris. Hemme zady düşnükli etmek üçin, käbir RESTful programmanyň mysaly bilen müşderi-serwer aragatnaşygyny seljereris. Müşderiler we olaryň sargytlary barada maglumatlary saklamaga ukyply web programmasyny taýýarlaýarys diýeliň. Bular. ulgamymyz käbir guramalary dolandyrmaga ukyply: olary döretmek, redaktirlemek, pozmak we olar hakda maglumat bermek. Bu guramalar:
- müşderiler - müşderiler;
- sargytlar - müşderi sargytlary;
- önümler - harytlar.
Islegler
Müşderi haýyşlary hemişe diýen ýaly HTTP-den edilýär. Umuman, HTTP haýyşlary birnäçe bölekden durýar:- HTTP usuly;
- ady;
- URI;
- bedenini sora.
URI we çeşmeler
Müşderileriň haýyşlar arkaly alýan ýa-da üýtgedýän maglumatlaryna çeşme diýilýär. Müşderi-serweriň özara täsiriniň esasy çeşmeleriň manipulýasiýasydyr. REST-däki çeşmeler, at berip boljak islendik zat. Bir nukdaýnazardan seredilende, bular Java-daky sapaklara meňzeýär. Java-da islendik zat üçin synp döredip bileris. REST-de birmeňzeş - çeşme islendik zat bolup biler: ulanyjy, resminama, hasabat, sargyt. Bularyň hemmesi haýsydyr bir guramanyň abstraksiýasy ýa-da anyk bir zat bolup biler, mysal üçin bir faýl - surat, wideo, animasiýa, PDF faýly. Mysal üçin, 3 çeşmämiz bar:- müşderiler - müşderiler;
- sargytlar - müşderi sargytlary;
- önümler - harytlar.
- / müşderiler - bar bolan müşderileriň URI;
- / müşderiler / 23 - Belli bir müşderiniň URI, ýagny ID = 23 bolan müşderi;
- / müşderiler / 4 - Belli bir müşderiniň URI, ýagny ID = 4 bolan müşderi.
- / müşderiler / 4 / sargytlar - 4-nji müşderiniň ähli sargytlarynyň URI;
- / müşderiler / 1 / sargytlar / 12 - 1-nji müşderiniň 12-nji sargyt URI.
- / müşderiler / 1 / sargytlar / 12 / elementler - 1-nji müşderi tarapyndan öndürilen 12-nji tertipde ähli önümleriň sanawynyň URI.
HTTP usuly
HTTP usuly (Iňlis HTTP usuly), çeşmede esasy işleýşi görkezýän dolandyryş we bölüjilerden başga islendik nyşanlaryň yzygiderliligi. Birnäçe umumy HTTP usuly bar. IEST GOWY hyzmatlarda iň köp ulanylýanlary sanap geçýäris:- GET - belli bir çeşme (ID arkaly) ýa-da çeşmeler ýygyndysy barada maglumat almak üçin ulanylýar;
- POST - täze çeşme döretmek üçin ulanylýar;
- PUT - çeşmäni üýtgetmek üçin ulanylýar (ID arkaly);
- Öçürmek - çeşmäni pozmak üçin ulanylýar (ID arkaly).
Ingsazgylar
Islegler, şeýle hem jogaplar, HTTP sözbaşylaryny öz içine alýar. Talap (ýa-da jogap) hakda goşmaça maglumat iberýärler. Erazgylar esasy bahaly jübütlerdir. Iň köp ýaýran sözbaşylaryň sanawyny Wikipediýa sahypasynda okap bilersiňiz . REST bilen, müşderiler köplenç haýyşy boýunça kabul ediş sözbaşysyny serwere iberip bilerler. Müşderiniň haýsy formatda jogap almagyna garaşýandygyny serwere habar bermek zerurdyr. MIME görnüşli sanawda dürli format görnüşleri görkezilýär. MIME (Köp maksatly internet poçta giňeltmeleri) maglumatlary kodlamak we habarlary internet arkaly ibermek üçin formatlamak üçin spesifikasiýa. Her MIME görnüşi çyzgydan bölünen iki bölekden durýar: bir görnüş we kiçi görnüş. Dürli faýl görnüşleri üçin MIME görnüşlerine mysallar:- tekst - tekst / ýönekeý, tekst / css, tekst / html;
- surat - surat / png, surat / jpeg, surat / gif;
- ses - ses / wav, ses / mpeg;
- wideo - wideo / mp4, wideo / ogg;
- programma - programma / json, programma / pdf, programma / xml, programma / oktet-akym.
Accept:application/json
Bu sözbaşy, müşderiniň JSON formatda jogap almagyna garaşýandygyny aýdýar.
Bedeniňi sora
Müşderi tarapyndan serwere iberilen habar. Islegiň bedeniniň bardygyny ýa-da ýokdugyny, HTTP haýyşynyň görnüşine baglydyr. Mysal üçin, GET we DELETE haýyşlarynda adatça haýsydyr bir haýyş organy ýok. Pöne PUT we POST öz içine alyp biler: bularyň hemmesi haýyş görnüşiniň funksional maksady bilen baglanyşykly. Galyberse-de, maglumatlary almak we id (URL-de iberilýär) bilen pozmak üçin serwere goşmaça maglumat ibermegiň zerurlygy ýok. Emma täze çeşme (POST haýyşy) döretmek üçin bu çeşmäni geçirmeli. Bar bolan çeşmäni üýtgetmek üçin hem edil şonuň ýaly. REST-de XML ýa-da JSON formatlary köplenç haýyş organyny geçirmek üçin ulanylýar. Iň ýaýran format JSON. Serwere haýyş ibermek isleýäris we onda täze çeşme döredeliň diýeliň. Rememberadyňyzda bolsa, mysal hökmünde müşderiniň sargytlaryny dolandyrýan programma seretdik. Täze müşderi döretmek isleýäris diýeliň. Biziň ýagdaýymyzda, müşderiler hakda aşakdaky maglumatlary saklaýarys: Adyň E-poçta Telefon belgisi Soňra şeýle haýyşyň mazmuny aşakdaky JSON bolup biler:{
"name" : "Amigo",
"email" : "amigo@jr.com",
"phone" : "+7 (191) 746-43-23"
}
Islegleri bir ýere jemlemek
Şeýlelik bilen, müşderiniň haýyşynyň nämeden ybarat bolup biljekdigine göz aýladyk. Indi düşündirişli soraglaryň käbir mysallaryny bereliňTalap | Düşündiriş |
---|---|
|
23-nji müşderi hakda json ýa-da xml görnüşinde maglumat alyň |
|
Aşakdaky meýdanlar bilen täze müşderi dörediň: Ady - Amigo E-poçta - amigo@jr.com Tel. - +7 (191) 746-43-23 |
|
1-nji müşderini aşakdaky ýaly redaktirläň: Ady - Ben E-poçta - bigben@jr.com Tel. - +380 (190) 346-42-13 |
|
12-nji müşderiden 6-njy buýrugy ulgamdan pozuň |
Jogaplar
Serweriň beren jogaplary barada birnäçe söz aýdalyň. Jogap, adatça, aşakdaky böleklerden durýar:- jogap kody;
- sözbaşylar;
- jogap organy.
HTTP jogap kodlary
Geliň, HTTP jogap kodlaryna has içgin seredeliň. Ine, Wikipediýadan sitata: HTTP status kody, HTTP protokolynyň üsti bilen haýyşlar üçin serwer jogaplarynyň birinji setiriniň bir bölegidir. Üç onluk sanly bitewi san. Birinji san ýagdaýyň synpyny görkezýär. Jogap kody, adatça, boşluk bilen bölünen iňlis dilinde düşündirişli söz düzümi bolup, adama bu aýratyn jogabyň sebäbini düşündirýär. Mysallar:- 201 Döredildi;
- 401 Rugsat berilmedik;
- 507 ammary ýeterlik däl.
- 1ХХ - maglumat;
- 2ХХ - müşderiniň islegini üstünlikli kabul etmek we gaýtadan işlemek ýagdaýlary barada maglumat bermek;
- 3XX - amaly üstünlikli tamamlamak üçin başga bir URI ulanyp, başga bir haýyş etmegiň zerurdygyny müşderä habar beriň;
- 4ХХ - müşderiniň ýalňyşlygy. Mysal üçin, nädogry gurlan haýyş ýa-da belli bir 404 Tapylmadyk kod, müşderi ýok çeşmäni soranda ýüze çykyp biler;
- 5ХХ - serwer ýalňyşlygy. Serweriň näsazlygy sebäpli amal şowsuz bolsa, müşderä gaýdyp geldi.
GO TO FULL VERSION