REST యొక్క అవలోకనం. పార్ట్ 1: REST అంటే ఏమిటి? ఈ భాగంలో, క్లయింట్ మరియు సర్వర్ మధ్య కమ్యూనికేషన్ ఎలా జరుగుతుందో మేము లోతుగా పరిశీలిస్తాము. అలాగే, మేము కొత్త నిబంధనలను వెలికితీస్తాము మరియు వాటిని వివరిస్తాము.
ప్రతిదీ స్పష్టంగా ఉందని నిర్ధారించుకోవడానికి, మేము RESTful అప్లికేషన్ను ఉదాహరణగా ఉపయోగించి క్లయింట్-సర్వర్ కమ్యూనికేషన్ను విశ్లేషిస్తాము. కస్టమర్లు మరియు వారి ఆర్డర్ల గురించి సమాచారాన్ని నిల్వ చేసే వెబ్ అప్లికేషన్ను మేము అభివృద్ధి చేస్తున్నాము అనుకుందాం. మరో మాటలో చెప్పాలంటే, మా సిస్టమ్ నిర్దిష్ట ఎంటిటీలపై కార్యకలాపాలను నిర్వహించగలదు: వాటిని సృష్టించడం, సవరించడం మరియు తొలగించడం మరియు వాటి గురించి సమాచారాన్ని ప్రదర్శించడం. ఈ ఎంటిటీలు ఇలా ఉంటాయి:

- వినియోగదారులు (కస్టమర్లు)
- ఆర్డర్లు (కస్టమర్ ఆర్డర్లు)
- వస్తువులు (ఉత్పత్తులు)
అభ్యర్థనలు
క్లయింట్ అభ్యర్థనలు దాదాపు ఎల్లప్పుడూ HTTP ప్రోటోకాల్ని ఉపయోగించి చేయబడతాయి. సాధారణంగా, HTTP అభ్యర్థనలు అనేక భాగాలను కలిగి ఉంటాయి:- HTTP పద్ధతి
- శీర్షిక
- URI
- అభ్యర్థన శరీరం
URIలు మరియు వనరులు
క్లయింట్లు అభ్యర్థనల ద్వారా స్వీకరించే లేదా సవరించే డేటాను వనరులు అంటారు. క్లయింట్-సర్వర్ కమ్యూనికేషన్ అనేది వనరులను తారుమారు చేయడం. RESTలో, వనరులు అంటే మీరు ఏదైనా పేరు పెట్టవచ్చు. ఒక రకంగా చెప్పాలంటే, అవి జావాలోని క్లాస్ల వంటివి. జావాలో, మనం దేనికైనా క్లాస్ని సృష్టించవచ్చు. కాబట్టి RESTలో, వనరు ఏదైనా కావచ్చు: వినియోగదారు, పత్రం, నివేదిక, ఆర్డర్. ఇది ఏదైనా ఎంటిటీ యొక్క సారాంశం కావచ్చు లేదా ఏదైనా నిర్దిష్టమైనది కావచ్చు, ఉదాహరణకు, చిత్రం, వీడియో, యానిమేషన్ లేదా PDF ఫైల్. మా ఉదాహరణలో, మాకు 3 వనరులు ఉన్నాయి:- వినియోగదారులు (కస్టమర్లు)
- ఆర్డర్లు (కస్టమర్ ఆర్డర్లు)
- వస్తువులు (ఉత్పత్తులు)
- /కస్టమర్లు — అందుబాటులో ఉన్న వినియోగదారులందరి URI
- /కస్టమర్లు/23 — నిర్దిష్ట కస్టమర్ యొక్క URI, అంటే ID=23 ఉన్న కస్టమర్
- /కస్టమర్లు/4 — నిర్దిష్ట కస్టమర్ యొక్క URI, అంటే ID=4 ఉన్న కస్టమర్.
- /కస్టమర్లు/4/ఆర్డర్లు — కస్టమర్ నం. 4 చేసిన అన్ని ఆర్డర్ల URI
- /కస్టమర్లు/1/ఆర్డర్లు/12 — కస్టమర్ నం. 1 చేసిన ఆర్డర్ నంబర్ 12 యొక్క URI.
- /కస్టమర్లు/1/ఆర్డర్లు/12/ఐటెమ్స్ — కస్టమర్ నం. 1 చేసిన ఆర్డర్ నెం. 12లోని అన్ని ఉత్పత్తుల జాబితా యొక్క URI.
HTTP పద్ధతి
HTTP పద్ధతి అనేది ఏదైనా అక్షరాల క్రమం (నియంత్రణ అక్షరాలు మరియు డీలిమిటర్లు మినహా), ఇది వనరుపై నిర్వహించబడుతున్న ప్రధాన ఆపరేషన్ను సూచిస్తుంది. అనేక సాధారణ HTTP పద్ధతులు ఉన్నాయి. మేము RESTful సేవల్లో ఎక్కువగా ఉపయోగించే వాటిని జాబితా చేస్తాము:- పొందండి — నిర్దిష్ట వనరు గురించి (దాని ID ద్వారా) లేదా వనరుల సేకరణ గురించి సమాచారాన్ని పొందండి
- POST - కొత్త వనరును సృష్టించండి
- పుట్ - వనరును మార్చండి (దాని ID ద్వారా)
- తొలగించు - వనరును తొలగించండి (దాని ID ద్వారా)
శీర్షికలు
అభ్యర్థనలు, అలాగే ప్రతిస్పందనలు, HTTP హెడర్లను కలిగి ఉంటాయి. వారు అభ్యర్థన (లేదా ప్రతిస్పందన) గురించి అదనపు సమాచారాన్ని తెలియజేస్తారు. శీర్షికలు కీ-విలువ జంటలు. మీరు వికీపీడియాలో అత్యంత సాధారణ శీర్షికల జాబితాను వీక్షించవచ్చు . REST కొరకు, క్లయింట్లు తరచుగా సర్వర్కి అభ్యర్థనలలో "అంగీకరించు" శీర్షికను పంపుతారు. క్లయింట్ ఏ ఫార్మాట్లో ప్రతిస్పందనను అందుకోవాలనుకుంటున్నారో సర్వర్కు తెలియజేయడానికి ఈ హెడర్ అవసరం. MIME రకాల జాబితాలో వివిధ ఫార్మాట్లు ఇవ్వబడ్డాయి. MIME (మల్టీపర్పస్ ఇంటర్నెట్ మెయిల్ ఎక్స్టెన్షన్స్) అనేది సమాచారాన్ని ఎన్కోడింగ్ చేయడానికి మరియు సందేశాలను ఫార్మాటింగ్ చేయడానికి ఒక స్పెసిఫికేషన్, కాబట్టి వాటిని ఇంటర్నెట్ ద్వారా పంపవచ్చు. ప్రతి MIME రకం స్లాష్ ద్వారా వేరు చేయబడిన రెండు భాగాలను కలిగి ఉంటుంది - ఒక రకం మరియు ఉప రకం. వివిధ రకాల ఫైల్ల కోసం MIME రకాల ఉదాహరణలు:- text — text/plain, text/css, text/html
- చిత్రం — చిత్రం/png, చిత్రం/jpeg, చిత్రం/gif
- ఆడియో — ఆడియో/wav, ఆడియో/mpeg
- వీడియో — వీడియో/mp4, వీడియో/ogg
- అప్లికేషన్ — అప్లికేషన్/json, అప్లికేషన్/pdf, అప్లికేషన్/xml, అప్లికేషన్/ఆక్టెట్-స్ట్రీమ్
Accept:application/json
క్లయింట్ JSON ఆకృతిలో ప్రతిస్పందనను అందుకోవాలని ఆశిస్తున్నట్లు ఈ హెడర్ సర్వర్కు తెలియజేస్తుంది.
శరీరాన్ని అభ్యర్థించండి
క్లయింట్ సర్వర్కి పంపిన సందేశం ఇది. అభ్యర్థనకు బాడీ ఉందా లేదా అనేది HTTP అభ్యర్థన రకంపై ఆధారపడి ఉంటుంది. ఉదాహరణకు, GET మరియు DELETE అభ్యర్థనలు సాధారణంగా ఏ అభ్యర్థన అంశాన్ని కలిగి ఉండవు. కానీ PUT మరియు POST అభ్యర్థనలు చేయవచ్చు - ఇది అభ్యర్థన యొక్క ప్రయోజనంపై ఆధారపడి ఉంటుంది. అన్నింటికంటే, IDని ఉపయోగించి డేటాను స్వీకరించడానికి మరియు/లేదా తొలగించడానికి (ఇది URLలో పాస్ చేయబడింది), మీరు సర్వర్కు అదనపు డేటాను పంపాల్సిన అవసరం లేదు. కానీ కొత్త వనరును సృష్టించడానికి (POST అభ్యర్థన ద్వారా), మీరు వనరును పంపాలి. ఇప్పటికే ఉన్న వనరును సవరించడానికి ఇది వర్తిస్తుంది. RESTలో, అభ్యర్థన అంశం చాలా తరచుగా XML లేదా JSON ఆకృతిలో పంపబడుతుంది. JSON ఫార్మాట్ సర్వసాధారణం. కొత్త వనరును సృష్టించడానికి సర్వర్కు అభ్యర్థనను పంపాలనుకుంటున్నాము. మీరు మరచిపోకపోతే, మేము కస్టమర్ ఆర్డర్లను నిర్వహించే అప్లికేషన్ యొక్క ఉదాహరణను పరిగణించాము. మేము కొత్త కస్టమర్ని సృష్టించాలనుకుంటున్నాము. మా విషయంలో, మేము క్రింది కస్టమర్ సమాచారాన్ని నిల్వ చేస్తాము: పేరు, ఇమెయిల్, ఫోన్ నంబర్. అప్పుడు అభ్యర్థన యొక్క ప్రధాన భాగం క్రింది JSON కావచ్చు:{
"name" : "Amigo",
"email" : "amigo@jr.com",
"phone" : "+1 (222) 333-4444"
}

కలిసి అభ్యర్థనలను ఉంచడం
కాబట్టి, క్లయింట్ అభ్యర్థనలో ఏమి ఉండవచ్చో మేము పరిశీలించాము. మేము ఇప్పుడు వివరణలతో పాటు అభ్యర్థనలకు కొన్ని ఉదాహరణలను ఇస్తాముఅభ్యర్థన | వివరణ |
---|---|
|
JSON లేదా XML ఆకృతిలో కస్టమర్ నంబర్ 23 గురించి సమాచారాన్ని పొందండి |
|
కింది ఫీల్డ్లతో కొత్త కస్టమర్ని సృష్టించండి: పేరు — అమిగో ఇమెయిల్ — amigo@jr.com టెలిఫోన్ నంబర్ — +1 (222) 333-4444 |
|
కస్టమర్ నంబర్ 1ని ఈ క్రింది విధంగా సవరించండి: పేరు — బెన్ ఇమెయిల్ — bigben@jr.com టెలిఫోన్ నంబర్ — +86 (868) 686-8686 |
|
సిస్టమ్ నుండి కస్టమర్ నంబర్ 12 చేసిన ఆర్డర్ నంబర్ 6ని తొలగించండి |
ప్రతిస్పందనలు
సర్వర్ ప్రతిస్పందనల గురించి కొన్ని మాటలు చెప్పండి. ప్రతిస్పందన సాధారణంగా క్రింది భాగాలను కలిగి ఉంటుంది:- ప్రతిస్పందన కోడ్
- శీర్షికలు
- ప్రతిస్పందన శరీరం
HTTP ప్రతిస్పందన కోడ్లు
HTTP ప్రతిస్పందన కోడ్లను మరింత వివరంగా పరిశీలిద్దాం. HTTP స్టేటస్ కోడ్ అనేది HTTP ప్రోటోకాల్ ద్వారా చేసిన అభ్యర్థనలకు సర్వర్ ప్రతిస్పందన యొక్క మొదటి లైన్లో భాగం. ఇది మూడు దశాంశ అంకెలతో కూడిన పూర్ణాంకం. మొదటి అంకె ప్రతిస్పందన స్థితి కోడ్ యొక్క తరగతిని సూచిస్తుంది. ప్రతిస్పందన కోడ్ సాధారణంగా ఆంగ్లంలో వివరణాత్మక పదబంధాన్ని అనుసరించి, ఖాళీతో వేరు చేయబడుతుంది. ప్రతిస్పందన కోసం ఈ పదబంధం మానవులు చదవగలిగే కారణం. ఉదాహరణలు:- 201 సృష్టించబడింది
- 401 అనధికార
- 507 తగినంత నిల్వ లేదు
- 1XX - సమాచార
- 2XX — క్లయింట్ అభ్యర్థన విజయవంతంగా స్వీకరించబడి, ప్రాసెస్ చేయబడిందని ఈ కోడ్లు సూచిస్తున్నాయి
- 3XX — ఈ కోడ్లు ఆపరేషన్ను విజయవంతంగా పూర్తి చేయడానికి సాధారణంగా వేరే URIకి అదనపు అభ్యర్థనను తప్పనిసరిగా చేయవలసి ఉంటుందని క్లయింట్కు తెలియజేస్తాయి
- 4XX — క్లయింట్ లోపం. ఇటువంటి కోడ్లు తప్పుగా కంపోజ్ చేయబడిన అభ్యర్థన వలన సంభవించవచ్చు. మరొక ఉదాహరణ సుప్రసిద్ధ "404 నాట్ ఫౌండ్" కోడ్, ఇది క్లయింట్ లేని వనరును అభ్యర్థించినప్పుడు సంభవించవచ్చు.
- 5XX — సర్వర్ లోపం. ఆపరేషన్ వైఫల్యానికి సర్వర్ బాధ్యత వహిస్తే ఈ కోడ్లు క్లయింట్కు తిరిగి ఇవ్వబడతాయి
GO TO FULL VERSION