මෙම මාතෘකාවට අළුත් පා ers කයන්ට ඔබ කළ යුතු දේ පිළිබඳ නිමක් නැති සාකච්ඡාව සහ අත්දැකීම් වලින් පාඩම් සාපේක්ෂ වශයෙන් නොපැවතීම යන කරුණු වලට පහර දෙනු ඇත . SOAP ට වඩා REST "වඩාත් කැමති" කාරණය නම්, මම සිතන්නේ අත්දැකීම් වලින් ඉහළ මට්ටමේ ඉගෙනීමක්, නමුත් යහපත්කම අප එතැන් සිට ඉදිරියට යා යුතුද? එය 2016. රෝයිගේ නිබන්ධනය 2000 දී විය. අප වර්ධනය කර ඇත්තේ කුමක්ද? එය විනෝදජනකද? සමඟ ඒකාබද්ධ වීම පහසු වූවාද? සහාය දීමට? එය ස්මාර්ට් ෆෝන් සහ දුර්වල ජංගම සම්බන්ධතා ඉහළ නැංවීමට කටයුතු කරයිද?
මට අනුව, සැබෑ ජීවිත ජාල විශ්වාස කළ නොහැකි ය. කල් ඉකුත් වීම ඉල්ලයි. සම්බන්ධතා යළි පිහිටුවනු ලැබේ. ජාලයන් වරකට පැය හෝ දින ගණනක් බැස යයි. දුම්රිය උමං තුලට යන්නේ ජංගම දුරකථන භාවිතා කරන්නන් සමඟ ය. ඕනෑම ඉල්ලීමක් සඳහා (ඉඳහිට මෙම සාකච්ඡාවේදී පිළිගත් පරිදි) ඉල්ලීම එහි යන විට ජලයට වැටිය හැකිය, නැතහොත් ප්රතිචාරය ආපසු එන විට ජලයේ වැටිය හැකිය. මෙම තත්වයන් තුළ, සාර්ථක සම්පත් වලට එරෙහිව සෘජුවම PUT, POST සහ DELETE ඉල්ලීම් නිකුත් කිරීම මට සෑම විටම ම්ලේච්ඡ හා අකාරුණික ලෙස බලපා ඇත.
ඉල්ලීම්-ප්රතිචාරය විශ්වාසදායක ලෙස සම්පූර්ණ කිරීම සහතික කිරීම සඳහා HTTP කිසිවක් නොකරයි, එය හරියටම ජාල දැනුවත් යෙදුම්වල කාර්යය වන නිසා එය හොඳයි. එවැනි යෙදුමක් සංවර්ධනය කිරීමෙන්, ඔබට POST වෙනුවට PUT භාවිතා කිරීමට කේන්දර හරහා පැනිය හැකිය, පසුව අනුපිටපත් ඉල්ලීම් ඔබ හඳුනා ගන්නේ නම් සේවාදායකයේ යම් ආකාරයක දෝෂයක් ලබා දීමට තවත් වළලු. සේවාදායකයා වෙත ආපසු ගොස්, මෙම දෝෂයන් අර්ථ නිරූපණය කිරීම, නැවත සකස් කිරීම, නැවත වලංගු කිරීම සහ නැවත තැපැල් කිරීම සඳහා ඔබට කේන්දර හරහා පැනිය යුතුය.
නැතහොත් ඔබට මෙය කළ හැකිය : ඔබගේ අනාරක්ෂිත ඉල්ලීම් ආධ්යාත්මික තනි පරිශීලක සම්පත් ලෙස සලකන්න (අපි ඒවා ක්රියාවන් ලෙස හඳුන්වමු). ගනුදෙනුකරුවන් සම්පතට හිස් පෝස්ට් එකක් සහිත සාර්ථක සම්පතක් සඳහා නව "ක්රියාවක්" ඉල්ලා සිටී. POST භාවිතා කරනුයේ මේ සඳහා පමණි. නැවුම් ලෙස සකස් කරන ලද ක්රියාවෙහි URI සුරක්ෂිතව සන්තකයේ තබා ගත් පසු, සේවාදායකයා ඉලක්කගත සම්පත නොව ක්රියාව URI වෙත අනාරක්ෂිත ඉල්ලීමක් ඉදිරිපත් කරයි . ක්රියාව නිරාකරණය කිරීම සහ “සැබෑ” සම්පත යාවත්කාලීන කිරීම ඔබේ API හි කාර්යය වන අතර එය විශ්වාස කළ නොහැකි ජාලයෙන් වෙන් කර ඇත.
සේවාදායකයා ව්යාපාරය කරයි, ප්රතිචාරය ලබා දෙන අතර එකඟ වූ ක්රියාදාම URI ට එරෙහිව එය ගබඩා කරයි . කිසියම් දෙයක් වැරදුනහොත්, සේවාදායකයා ඉල්ලීම පුනරාවර්තනය කරයි (ස්වාභාවික හැසිරීම!), සහ සේවාදායකයා දැනටමත් එය දැක තිබේ නම්, එය ගබඩා කළ ප්රතිචාරය පුනරාවර්තනය කරන අතර වෙන කිසිවක් නොකරයි .
පොරොන්දු සමඟ ඇති සමානකම ඔබ ඉක්මනින් හඳුනාගනු ඇත: කිසිවක් කිරීමට පෙර අපි ප්රති place ලය සඳහා ස්ථාන දරන්නා නිර්මාණය කර ආපසු එවන්නෙමු. පොරොන්දුවක් මෙන්, ක්රියාවක් එක් වරක් සාර්ථක හෝ අසාර්ථක විය හැකි නමුත් එහි ප්රති result ලය නැවත නැවත ලබා ගත හැකිය.
වඩාත්ම වැදගත් දෙය නම්, සුවිශේෂී ලෙස හඳුනාගෙන ඇති ක්රියාව ඔවුන්ගේ පරිසරය තුළ ඇති සුවිශේෂත්වය හා සම්බන්ධ කිරීමට අයදුම්පත් යැවීම සහ ලැබීම ය. සේවාදායකයින්ගෙන් වගකිවයුතු හැසිරීමක් ඉල්ලා සිටීමට සහ බලාත්මක කිරීමට අපට පටන් ගත හැකිය: ඔබගේ ඉල්ලීම් ඔබ කැමති තරම් නැවත නැවත කරන්න, නමුත් පවතින එකෙන් නිශ්චිත ප්රති result ලයක් ඔබ සතුව ඇති තුරු නව ක්රියාවක් ඇති නොකරන්න.
එනිසා කටුක ගැටලු රාශියක් පහව යයි. නැවත නැවත ඇතුළත් කිරීමේ ඉල්ලීම් අනුපිටපත් නිර්මාණය නොකරනු ඇති අතර, අප සතුව දත්ත පවතින තුරු අපි සැබෑ සම්පත නිර්මාණය නොකරමු. (දත්ත සමුදා තීරු අහෝසි කළ නොහැක). නැවත නැවත යාවත්කාලීන කිරීමේ ඉල්ලීම් නොගැලපෙන තත්වයන්ට පහර නොදෙන අතර පසුව සිදුවන වෙනස්කම් නැවත ලියන්නේ නැත. ඕනෑම හේතුවක් නිසා සේවාදායකයාට මුල් තහවුරු කිරීම ලබා ගත හැකිය (බාධාවකින් තොරව) (සේවාදායකයා බිඳ වැටීම, ප්රතිචාරය අතුරුදහන් වීම ආදිය).
අනුක්රමික මකාදැමීමේ ඉල්ලීම්වලට 404 දෝෂයක් නොමැතිව මුල් තහවුරු කිරීම දැක බලා ගත හැකිය. දේවල් බලාපොරොත්තු වූවාට වඩා වැඩි කාලයක් ගත වුවහොත්, අපට තාවකාලිකව ප්රතිචාර දැක්විය හැකි අතර, නිශ්චිත ප්රති .ලය සඳහා සේවාදායකයාට නැවත පරීක්ෂා කළ හැකි ස්ථානයක් අපට තිබේ. මෙම රටාවේ ලස්සනම කොටස වන්නේ එහි කුං-ෆු (පැන්ඩා) දේපලයි. අපි දුර්වලකමක් ගනිමු, සේවාදායකයින්ට ප්රතිචාරය නොතේරෙන ඕනෑම වේලාවක ඉල්ලීමක් පුනරාවර්තනය කිරීමට ඇති හැකියාව සහ එය ශක්තියක් බවට පත් කිරීම :-)
මෙය RESTful නොවන බව මට පැවසීමට පෙර, REST මූලධර්මවලට ගරු කරන බොහෝ ක්රම සලකා බලන්න. සේවාදායකයින් URL සාදන්නේ නැත. අර්ථ නිරූපණයෙහි සුළු වෙනසක් තිබියදීත්, API සොයාගත හැකි මට්ටමක පවතී. HTTP ක්රියා පද සුදුසු පරිදි භාවිතා කරයි. මෙය ක්රියාත්මක කිරීම සඳහා විශාල වෙනසක් යැයි ඔබ සිතන්නේ නම්, එය එසේ නොවන බව මට අත්දැකීමෙන් ඔබට පැවසිය හැකිය.
ඔබට ගබඩා කිරීම සඳහා විශාල දත්ත ප්රමාණයක් ඇතැයි ඔබ සිතන්නේ නම්, අපි වෙළුම් කතා කරමු: සාමාන්ය යාවත්කාලීන තහවුරු කිරීමක් යනු කිලෝබයිට් භාගයකි. නිශ්චිතවම ප්රතිචාර දැක්වීමට HTTP දැනට ඔබට විනාඩියක් හෝ දෙකක් ලබා දෙයි. ඔබ ක්රියාවන් සතියක් පමණක් ගබඩා කළත්, ගනුදෙනුකරුවන්ට අල්ලා ගැනීමට ඕනෑ තරම් අවස්ථාවන් තිබේ. ඔබට ඉතා ඉහළ පරිමාවක් තිබේ නම්, ඔබට කැපවූ ඇසිඩ් අනුකූල යතුරු අගය ගබඩාවක් හෝ මතකයේ විසඳුමක් අවශ්ය විය හැකිය.