REST සහ CRUD අතර වෙනස


179

මම REST ඉගෙන ගත් අතර එය CRUD මෙන් දැනේ (මම CRUD ගැන කියවා ඇති දෙයින්).

ඔවුන් වෙනස් බව මම දනිමි, ඒවා සමාන යැයි සිතීම මට ඒවා නොතේරෙනවාදැයි මම කල්පනා කරමි.

REST යනු CRUD හි “සුපර්සෙට්” එකක්ද? CRUD සහ තවත් බොහෝ දේ එය කරයිද?


19
ඒවා සමාන යැයි සිතීම යනු ඔබ ඒවා තේරුම් ගෙන ඇති බවයි. පිළිතුරු කියවීම, මම පුදුම දේ මම වැරදි මට්ටමේ විය සලකා බලන්න නොවේ සංකල්ප අතර සමානකම් පිළිගනිමින්. මම බෝපාල් තේරුම් ගැනීමට නිවැරදි ක්රමය බව විශ්වාස වේ "HTTP සම්පත් සඳහා කාර්යයන් කැ ගැනීම සඳහා CRUD" ලෙස එය හිතන්න. HTTP සම්පතක් යනු කුමක්දැයි ඔබ තේරුම් ගෙන තිබේ නම් (එය පැහැදිලිවම දත්ත සමුදා වාර්තාවකට සමාන නොවේ) සහ CRUD යනු කුමක්දැයි ඔබ දන්නේ නම්, REST “HTTP සම්පත් සඳහා CRUD” ලෙස විස්තර කිරීම REST හි සාරය ප්‍රකාශ කිරීම සඳහා නිවැරදි හා සංක්ෂිප්ත ක්‍රමයකි.
ජේසන් ලිව්සේ

Answers:


215

පුදුමයට කරුණක් නම්, REST සහ CRUD අතර සැබෑ වෙනස ලෙස මා සලකන දේ අනෙක් පිළිතුරු වලින් මා දකින්නේ නැත: එක් එක් කළමනාකරණය කරන දේ.

CRUD යනු දත්ත ගබඩාවක කළ යුතු මූලික මෙහෙයුම් ය. ඔබ කෙලින්ම වාර්තා හෝ දත්ත වස්තු හසුරුවයි; මෙම මෙහෙයුම් හැරුණු විට, වාර්තා නිෂ්ක්‍රීය ආයතන වේ. සාමාන්‍යයෙන් එය දත්ත සමුදා වගු සහ වාර්තා පමණි.

REST, අනෙක් අතට, URL මගින් හඳුනාගත් සම්පත් නිරූපණයන් මත ක්‍රියාත්මක වේ. මේවා සාමාන්‍යයෙන් දත්ත වස්තු නොව සංකීර්ණ වස්තු වියුක්තයන් ය.

උදාහරණයක් ලෙස, සම්පතක් පරිශීලකයාගේ අදහස් දැක්වීමක් විය හැකිය. එයින් අදහස් කරන්නේ 'විවරණ' වගුවක වාර්තාවක් පමණක් නොව, 'පරිශීලක' සම්පත සමඟ ඇති සම්බන්ධතා, අදහස් දැක්වීමට අමුණා ඇති තනතුර, සමහර විට එය ප්‍රතිචාර දක්වන තවත් අදහස් දැක්වීමකි.

අදහස් දැක්වීම මත ක්‍රියාත්මක වීම ප්‍රාථමික දත්ත සමුදා මෙහෙයුමක් නොවේ, එය මුල් පෝස්ටරයට අනතුරු ඇඟවීමක් කිරීම හෝ ක්‍රීඩාවට සමාන 'ලකුණු' නැවත ගණනය කිරීම හෝ සමහර 'අනුගාමික ප්‍රවාහය' යාවත්කාලීන කිරීම වැනි සැලකිය යුතු අතුරු ආබාධ ඇති කළ හැකිය.

සම්පත් නිරූපණයට හයිපර් ටෙක්ස්ට් ( HATEOAS මූලධර්මය පරීක්ෂා කරන්න ) ඇතුළත් වේ , නිර්මාණකරුට සම්පත් අතර සබඳතා ප්‍රකාශ කිරීමට ඉඩ දීම හෝ මෙහෙයුම් කාර්ය ප්‍රවාහයේ REST සේවාදායකයාට මග පෙන්වීම.

කෙටියෙන් කිවහොත්, CRUD යනු ප්‍රාථමික මෙහෙයුම් (බොහෝ දුරට දත්ත සමුදායන් සහ ස්ථිතික දත්ත ගබඩා සඳහා) වන අතර REST යනු ඉතා ඉහළ මට්ටමේ API ශෛලියකි (බොහෝ විට වෙබ් සේවා සහ වෙනත් 'සජීවී' පද්ධති සඳහා).

පළමුවැන්න මූලික දත්ත හසුරුවයි, අනෙක සංකීර්ණ පද්ධතියක් සමඟ අන්තර් ක්‍රියා කරයි.


3
Av ජේවියර් ඒවා වෙන් කිරීම ගැන ස්තූතියි. මම REST ඉගෙනුම් රේල් පීලි භාවිතා කළ අතර එය CRUD වෙනුවට ආදේශකයක් බව මට හැඟී ගියේය (මම එතැන් සිට ඉගෙන ගත්තෙමි ... එනම්, මම දැනටමත් එය භාවිතා කරමින් සිටියෙමි, එය හැඳින්විය යුත්තේ කුමක් දැයි නොදැන සිටියෙමි) ... ඔබ REST vs CRUD ඇපල් 2 සංසන්දනය කිරීමේ සිට ඇපල් හා දොඩම් සංසන්දනය කිරීම දක්වා හැරවිය. ස්තූතියි
ජෙසී බ්ලැක්

2
A මාඩිකස්: රෝආර් හි CRUD ස්තරයක් (බොහෝ (සෑම?) රාමුවක්ම ඇති පරිදි) ඇතුළත් වන බැවින් එය ඉතා සුලභ යැයි මම සිතමි, ඒ මත REST API එකක් එක් කිරීම පහසු (ස්වයංක්‍රීය?) කරයි, එය සිතීම පහසුය REST යනු කුමක්ද? නමුත් එවිට ඔබට CRUD ට ඉහළින් ක්‍රියාකාරීත්වය එක් කළ හැකි නමුත් REST API පිටුපසින් ඒවා වැඩි වැඩියෙන් වෙනස් වේ.
ජේවියර්

1
ඔබේ පිළිතුර නිවැරදියි, නමුත් උදාහරණය ප්‍රශස්ත නොවේ: විවරණයකට තනි ඩීබී පේළියකට තම්බා ගත හැකි අතර, ඩීබී ප්‍රේරක සමඟ අදාළ වස්තූන්ගේ ගතික වෙනස්කම් ක්‍රියාත්මක කළ නොහැකිද? මට දැනෙන්නේ විවේකයෙන් ක්‍රියා කරන ගොරහැඩි මෙහෙයුම්වලට වඩා ටිකක් වැඩි යමක් ඇති බවයි. ඔබේ පිළිතුර පැහැදිලිවම එම හැඟීම හොඳින් ගෙන යයි.
didierc

2
ඉතින් ... එකම දේ, වෙනස් තට්ටුවක් :)
AlikElzin-kilaka

මෙය ප්‍රකාශ කිරීම ගැන ඔබට බොහෝම ස්තූතියි! CRUD මෙහෙයුම් සඳහා HTTP ක්‍රියාපද සීමා කිරීම CRST බොයිලර් ප්ලේට් සාමාන්‍යකරණය කරන සහ මෙම අභිරුචි "අදහස් දැක්වීමක් මත ක්‍රියාත්මක වන" තර්කනය සඳහා ස්ථානයක් මග හැරෙන බොහෝ මෙවලම් සමඟ REST වචනාර්ථයෙන් CRUD ලෙස ක්‍රියාත්මක කිරීමට හේතු වන බව මම එකතු කරමි.
sompylasar

102

පළමුවෙන්ම, දෙකම හුදෙක් පොදු මුලකුරු ය; ඔවුන් බිය වීමට කිසිවක් නැත.

දැන්, CRUD යනු කෙටි යෙදුම් වලින් කෙටියෙන් දක්වා ඇති අතර එය බොහෝ යෙදුම්වල පොදු ලක්ෂණයක් වන අතර CRUD යැයි පැවසීම පහසුය . දත්ත (හෝ සම්පතක්) මත ඔබට කළ හැකි මූලික මෙහෙයුම් 4 එය විස්තර කරයි. සාදන්න, කියවන්න, යාවත්කාලීන කරන්න, මකන්න.

කෙසේ වෙතත්, REST යනු නම් කරන ලද පුහුණුවකි (AJAX මෙන්), එය තාක්‍ෂණය නොවේ. දිගු කලක් තිස්සේ HTTP ප්‍රොටෝකෝලය තුළ ආවේනික වූ නමුත් කලාතුරකින් භාවිතා වන හැකියාවන් භාවිතා කිරීමට එය දිරිගන්වයි.

ඔබට URL එකක් (ඒකාකාර සම්පත් ලොකේටර් ) ඇති විට සහ ලිපින රේඛාව මඟින් ඔබේ බ්‍රව්සරය එයට යොමු කළ විට, ඔබ HTTP ඉල්ලීමක් යවයි . සෑම HTTP ඉල්ලීමකම ඉල්ලීම නිකුත් කළ සේවාදායකයා වෙත ආපසු යැවිය යුත්තේ කුමන HTTP ප්‍රතිචාරය දැයි දැන ගැනීමට සේවාදායකයාට භාවිතා කළ හැකි තොරතුරු අඩංගු වේ .

සෑම ඉල්ලීමකම URL එකක් අඩංගු වේ, එබැවින් ඔබට ප්‍රවේශ වීමට අවශ්‍ය සම්පත් මොනවාදැයි සේවාදායකයා දනී , නමුත් එයට ක්‍රමයක් ද අඩංගු විය හැකිය . ක්‍රමයක් මගින් එම සම්පත සමඟ කළ යුතු දේ විස්තර කෙරේ .

නමුත් මෙම "ක්‍රමය" සංකල්පය බොහෝ විට භාවිතා නොවීය.

සාමාන්‍යයෙන්, මිනිසුන් GET ක්‍රමය හරහා පිටු වලට සම්බන්ධ වන අතර POST ක්‍රමය හරහා ඕනෑම ආකාරයක යාවත්කාලීන කිරීම් (මකාදැමීම්, ඇතුළත් කිරීම්, යාවත්කාලීන කිරීම්) නිකුත් කරනු ඇත.

එම නිසා ඔබට එක් සම්පතක් (URL) සත්‍ය සම්පතක් ලෙස සැලකිය නොහැක . එකම සම්පත මකා දැමීම, ඇතුළත් කිරීම හෝ යාවත්කාලීන කිරීම සඳහා ඔබට වෙනම URL තිබිය යුතුය. උදාහරණයක් වශයෙන්:

http://...com/posts/create- POST request  -> Goes to posts.create() method in the server
http://...com/posts/1/show- GET request  -> Goes to posts.show(1) method in the server
http://...com/posts/1/delete - POST request  -> Goes to posts.delete(1) method in the server
http://...com/posts/1/edit- POST request  -> Goes to posts.edit(1) method in the server

REST සමඟ, ඔබ POST හැරුණු කොට වෙනත් HTTP ක්‍රම භාවිතා කරන නිසා වඩා හොඳ ආකෘති නිර්මාණය කරන අතර URLS පමණක් නොව ක්‍රම අතර වෙනස හඳුනා ගැනීමට ඔබේ සේවාදායකය ක්‍රමලේඛනය කරන්න . උදාහරණයක් ලෙස:

http://...com/posts - POST request  -> Goes to posts.create() method in the server
http://...com/posts/1 - GET request  -> Goes to posts.show(1) method in the server
http://...com/posts/1 - DELETE request  -> Goes to posts.delete(1) method in the server
http://...com/posts/1 - PUT request  -> Goes to posts.edit(1) method in the server

මතක තබා ගන්න, එක් URL එක තනි සම්පතක් විස්තර කරයි. තනි තනතුරක් යනු තනි සම්පතකි. REST සමඟ ඔබ සම්පත් සලකනු ලැබීමට අදහස් කළ ආකාරයටම සලකයි. ඔබ සේවාදායකයාට පවසන්නේ ඔබට හැසිරවිය යුතු සම්පත කුමක්ද සහ එය හැසිරවිය යුතු ආකාරයයි.

"RESTful ගෘහ නිර්මාණ ශිල්පය" සඳහා තවත් බොහෝ අංග තිබේ, ඒවා ඔබට විකිපීඩියාව, වෙනත් ලිපි හෝ පොත් වලින් කියවිය හැකිය. CRUD සඳහා තවත් බොහෝ දේ නැත, අනෙක් අතට.


4
කණගාටුයි, නමුත් REST යනු CRUD වලට වඩා වැඩිය. බොහෝ දුරට සම්පත් එක් වාර්තාවකට වඩා වැඩි ප්‍රමාණයක් අන්තර්ගත වන අතර, එක් එක් මෙහෙයුම වාර්තාවක් යාවත්කාලීන කිරීමට වඩා බොහෝ දේ කරයි.
ජේවියර්

13
හරි. මම එකඟයි. ඇයි ඔබ, කණගාටුවෙන්? එය CRUD ට වඩා වැඩි දෙයක් නොවන බව මම නොකියමි. මම මම හරියටම මොකක්ද හිතන්නේ නැහැ කියා.
යම් මාකෝවික්

4
මෙය නිවැරදි පිළිතුර විය යුතුය.
බ්‍රැන්ඩන්

HTML පිරිවිතරයන්ට ආකෘති ඉදිරිපත් කිරීම සඳහා GET සහ POST ක්‍රමවේදයන්ට පමණක් ඉඩ ලබා දේ, එබැවින් AJAX පුළුල් වීමට පෙර වෙබ් සේවාදායකයින්ගේ ඉල්ලීම් හසුරුවන සේවාවන්හි අනෙක් ක්‍රම භාවිතා නොවීය. සමහර සේවාවන් POST ක්‍රමය භාවිතා කරමින් පෝරමය ඉදිරිපත් කරන අතරම POST හැර වෙනත් ක්‍රමයක් නියම කිරීම සඳහා "_method" යන නම සහිත සැඟවුණු ආදාන ක්ෂේත්‍රයක් භාවිතා කරයි.
කෙනත් සුන්ඩ්ක්විස්ට්

22

REST යනු “නියෝජන රාජ්‍ය හුවමාරුව” යන්නයි, එයින් අදහස් කරන්නේ පද්ධතියක යම් සම්පතක තත්වය සන්නිවේදනය කිරීම හා වෙනස් කිරීම ය.

REST සෑහෙන දුරට සම්බන්ධ වේ, මන්ද REST පිටුපස ඇති න්‍යාය දුරස්ථ පද්ධතියක තොරතුරු කළමනාකරණය කිරීම සඳහා මාධ්‍ය, හයිපර්මීඩියා සහ යටින් පවතින ප්‍රොටෝකෝලයකි.

CRUD, අනෙක් අතට, දත්ත සමුදායක දත්ත සඳහා ඔබට අවශ්‍ය පොදු මෙහෙයුම් සඳහා සිහිවටන වේ: නැවත ලබා ගැනීම යාවත්කාලීන මකන්න. නමුත් එය ඇත්ත වශයෙන්ම ඊට වඩා ගැඹුරක් ලබා ගන්නේ නැත.

ඉතින් ඔබේ ප්‍රශ්නයට පිළිතුර එයයි, නමුත් REST සහ CRUD එකට සාකච්ඡා කරන විට මා දකින පොදු වැරැද්ද ගැන සඳහන් කරමි. බොහෝ සංවර්ධකයින්ට REST කෙලින්ම CRUD වෙත සිතියම් ගත කිරීමට අවශ්‍යය, මන්ද HTTP හරහා REST GET PUT POST සහ DELETE සඳහා සපයන අතර CRUD මඟින් CREATE RETRIEVE UPDATE DELETE නිර්මාණය කරයි. REST ක්‍රියා පද කෙලින්ම CRUD මෙහෙයුම් වලට සිතියම් ගත කිරීම ස්වාභාවිකය.

කෙසේ වෙතත්, HTTP විසින් "සාදන්න හෝ යාවත්කාලීන කරන්න" ශෛලියක් භාවිතා කරන අතර CRUD නිර්මාණය සහ යාවත්කාලීන කිරීම වෙන් කරයි. එමඟින් (!) දෙක අතර පිරිසිදු, සාමාන්‍ය සිතියම් ගත කිරීම කළ නොහැක (!)

GET සහ DELETE පහසුය ... GET === RETRIEVE, සහ DELETE === DELETE.

නමුත් HTTP පිරිවිතරයට අනුව, PUT යනු සැබවින්ම නිර්මාණය සහ යාවත්කාලීන කිරීම වේ:

  • PUT භාවිතා කර එහි අනන්‍යතාවය ඇතුළුව ඔබ ඒ ගැන සියල්ල දන්නා විට නවතම වස්තුවක් නිර්මාණය කරන්න

  • වස්තුවක් යාවත්කාලීන කිරීමට PUT භාවිතා කරන්න (සාමාන්‍යයෙන් වස්තුවේ සම්පූර්ණ නිරූපණය සමඟ)

POST යනු "සැකසුම්" ක්‍රියා පදය වන අතර එය "උපග්‍රන්ථ" ක්‍රියා පදය ලෙස සැලකේ:

  • එකතුවකට නව වස්තුවක් එකතු කිරීමට POST භාවිතා කරන්න - එනම් නව වස්තුවක් සාදන්න

  • HTTP පිරිවිතර එය "දත්ත සැකසුම්" ක්‍රියා පදය ලෙස අර්ථ දක්වන බැවින් අනෙක් ක්‍රියාපද කිසිවක් නොගැලපෙන විට POST ද භාවිතා වේ.

  • ඔබගේ කණ්ඩායම POST හි රැඳී සිටින්නේ නම්, මුළු WWW ගොඩනගා ඇත්තේ GET සහ POST මත බව මතක තබා ගන්න;)

එබැවින් REST සහ CRUD අතර සමානකමක් ඇති අතර, බොහෝ කණ්ඩායම් කරන වැරැද්ද නම් දෙක අතර සමානතාවයක් ඇති කිරීමයි. RUD API එකක් නිර්වචනය කිරීමේදී කණ්ඩායමක් සැබවින්ම සැලකිලිමත් විය යුත්තේ CRUD මතකයේ රැඳී නොසිටීම සඳහා ය.


7

CRUD මඟින් දත්ත කියවීම සහ ලිවීම සඳහා අවම ගබඩා ක්‍රියාපද මාලාවක් නියම කරයි: නිර්මාණය කිරීම, කියවීම, යාවත්කාලීන කිරීම සහ මකා දැමීම. එවිට, මේවා එකතු කිරීමෙන් ඔබට වෙනත් මෙහෙයුම් ගොඩනගා ගත හැකිය. මේවා සාමාන්‍යයෙන් දත්ත සමුදා මෙහෙයුම් ලෙස සලකනු ලැබේ, නමුත් දත්ත සමුදායක් ලෙස සලකනු ලබන්නේ අත්තනෝමතික ය (උදා: සාපේක්ෂ ඩීබීඑම්එස් විය හැකි නමුත් YAML ගොනු ද විය හැකිය).

REST යනු “වාස්තු විද්‍යාත්මක ශෛලියක්” වන අතර එය සාමාන්‍යයෙන් CRUD මෙහෙයුම් සහ වෙනත්, ඉහළ මට්ටමේ මෙහෙයුම් ඇතුළත් වේ. REST හි සිත්ගන්නාසුලු සීමාවන් රාශියක් ඇත (විශේෂයෙන් HTTP සමඟ හොඳින් යුගලනය වී ඇත).

REST අතුරුමුහුණතකට කිසියම් සම්පතක් මත ඇති සියලුම CRUD මෙහෙයුම් නිරාවරණය කළ හැකි නමුත් අවශ්‍ය නොවේ. REST අතුරුමුහුණතක ඇති දේ අත්තනෝමතික වන අතර පද්ධති අවසරයන්, UI සලකා බැලීම් සහ අතුරු මුහුණත නිර්මාණය කර නිර්මාණය කළ දිනයේ එය කෙතරම් උණුසුම්ද යන්න නිසා වෙනස් විය හැකිය. උණුසුම් දින වඩාත් අවම අතුරුමුහුණත් වලට තුඩු දෙයි, සාමාන්‍යයෙන් ප්‍රතිවිරුද්ධ දෙය සත්‍ය විය හැකිය.


ස්තූතියි යාර්. මගේ "CRUD කරන සෑම දෙයක්ම සහ තවත් බොහෝ දේ තිබේද?" ඔව්, REST හි තාක්‍ෂණය සමඟ දත්ත සමුදායක ඇතුළත් කිරීම් වලට වඩා අදාළ වේ.
ජෙසී බ්ලැක්

A මාඩිකස් මම පිළිතුර යාවත්කාලීන කළෙමි, නමුත් නිශ්චිතව කිවහොත්: එයට එය කළ හැකි නමුත් නැත.
ඩෑන් රොසෙන්ස්ටාර්ක්

ඔබගේ අයදුම්පත සම්පුර්ණ ලෙස සලකා බැලීමට ඒවා අවශ්‍ය යැයි මම නොකියමි. සමහර යෙදුම් වලට ස්වභාවයෙන්ම ඇතුළත් කිරීම්, ඉවත් කිරීම් හෝ යාවත්කාලීන කිරීම් අවශ්‍ය නොවේ.
යම් මාකෝවික්

Am යම් මාකෝවික්, හරි, සකස් කර ඇත
ඩෑන් රොසෙන්ස්ටාර්ක්

7

CRUD

  • CRUD යනු SQL විධානයන්හි මූලික වර්ග හතරකි: සාදන්න, කියවන්න, යාවත්කාලීන කරන්න සහ මකන්න
  • බොහෝ යෙදුම්වල යම් ආකාරයක CRUD ක්‍රියාකාරීත්වයක් ඇත
  • CRUD යෙදුමක් යනු දත්ත සමුදායක් තුළට සහ පිටතට දත්ත ලබා ගැනීම සඳහා ආකෘති භාවිතා කරන එකකි

REST

  • REST යන්නෙන් නියෝජනය වන්නේ රාජ්‍ය මාරුවයි (සමහර විට එය "ReST" ලෙස අක්ෂර වින්‍යාසය)

  • එය අස්ථායි, සේවාදායක-සේවාදායක, හැඹිලි කළ හැකි සන්නිවේදන ප්‍රොටෝකෝලයක් මත රඳා පවතී - සහ සෑම අවස්ථාවකම පාහේ HTTP ප්‍රොටෝකෝලය භාවිතා වේ

  • REST යනු ජාලගත යෙදුම් සැලසුම් කිරීම සඳහා ගෘහ නිර්මාණ ශෛලියකි


2

REST යනු යන්ත්‍ර සඳහා වෙබ් පිටුවක් වැනි ය, ඒවා පිරික්සීමට හැකි අතර CRUD යනු SOAP වැනි දෙයක් වන අතර එය සිය සේවාදායකයින් සමඟ දැඩි ලෙස සම්බන්ධ වේ. මේවා ප්‍රධාන වෙනස්කම් වේ. Ofc. ඒවා මතුපිටට සමාන ය, නමුත් CRUD මූලික වස්තු හැසිරවීම විස්තර කරන අතර REST හට ඕනෑම යෙදුමක අතුරු මුහුණත විස්තර කළ හැකිය. REST ට තවත් HTTP ක්‍රම 4 ක් භාවිතා කළ හැකි තවත් වෙනසක්. මට සියලු වෙනස්කම් එකතු කිරීමට අවශ්‍ය නම් එය ඉතා දිගු පිළිතුරක් වනු ඇත, ඔබ REST vs SOAP පිළිබඳ ප්‍රශ්න පරීක්ෂා කළහොත් ඔබට ඒවායින් බොහොමයක් සොයාගත හැකිය.

CRUD සමඟ REST පටලවා ගැනීම ඉතා පොදු වැරැද්දක් යැයි මම සිතමි. හේතුව REST ගැන ගැඹුරින් කියවීමට සංවර්ධකයින්ට කාලය නොමැති වීමයි. ඔවුන්ට අවශ්‍ය වන්නේ තාක්‍ෂණය භාවිතා කිරීම - එය තේරුම් නොගෙන - සමාන සංවර්ධකයින් විසින් ලියන ලද සීමිත CRUD විලාසිතාවේ උදාහරණ මත පදනම්ව. උදාහරණ හා නිබන්ධන වලින් අතිමහත් බහුතරයක් පිළිබිඹු කරන්නේ බරපතල දැනුමක් නොමැතිකමයි. මෙම ආයතනවල CRUD මෙහෙයුම් සඳහා REST සම්පත් හා HTTP ක්‍රම සිතියම්ගත කිරීම සහ අධි-සබැඳි නොමැතිව REST භාවිතා කිරීම එහි රෝග ලක්ෂණයකි. REST මඟින් ඔබ ඔබගේ ක්‍රියාකාරකම් සඳහා අධි සබැඳි (POST / PUT / DELETE / PATCH ක්‍රම සමඟ සබැඳි ඇතුළුව) සිතියම් ගත කරන අතර (සාමාන්‍යයෙන් API විශේෂිත) සම්බන්ධක සම්බන්ධතාවය පරීක්ෂා කිරීමෙන් ඔබ සේවාදායකයාගේ පැත්තේ ක්‍රියාකාරිත්වය හඳුනා ගනී. REST සේවාදායකයෙක් සම්බන්ධක සම්බන්ධතාවයක් යනු කුමක්දැයි නොදන්නේ නම් සහ HTTP ක්‍රම සහ සමහර URI සැකිලි පමණක් දන්නේ නම්, එවිට එය REST සේවාදායකයකු නොව HTTP සේවාදායකයේ CRUD වේ. REST සේවාදායකයකුගේ තවත් පොදු වැරැද්දක් වන්නේ බ්‍රව්සරයේ ක්‍රියාත්මක වන තනි පිටු ජාවාස්ක්‍රිප්ට් යෙදුමකි. ඇත්ත වශයෙන්ම ඔබට එවැනි සේවාදායකයකු ක්‍රියාත්මක කළ හැකිය, නමුත් REST යන්නෙන් අදහස් කළේ ස්වයංක්‍රීය සේවාදායකයින් සඳහාය (ඔබ නොදන්නා සංවර්ධකයින් විසින් ලියන ලද සේවාදායක පාර්ශවීය යෙදුම්) මිස අතින් සේවාදායකයින් සඳහා නොවේ (ඔබ විසින් ලියන ලද පරිශීලක පාලිත බ්‍රව්සර් යෙදුම්). තනි බ්‍රව්සර් සේවාදායකයකු පමණක් සිටීම ඔබට සැබවින්ම REST අවශ්‍ය නොවන බවට ලකුණක් විය හැකි අතර ඔබ ව්‍යාපෘතිය ඉක්මවා ගොස් ඇත. මෙම අවස්ථා වලදී CRUD API යනු ශක්‍ය විසඳුමක් වන අතර සංවර්ධකයින් මෙම CRUD APIs REST ලෙස හඳුන්වන්නේ ඔවුන් වෙනස නොදන්නා බැවිනි. ඇත්ත වශයෙන්ම ඔබට එවැනි සේවාදායකයකු ක්‍රියාත්මක කළ හැකිය, නමුත් REST යන්නෙන් අදහස් කළේ ස්වයංක්‍රීය සේවාදායකයින් සඳහාය (ඔබ නොදන්නා සංවර්ධකයින් විසින් ලියන ලද සේවාදායක පාර්ශවීය යෙදුම්) මිස අතින් සේවාදායකයින් සඳහා නොවේ (ඔබ විසින් ලියන ලද පරිශීලක පාලිත බ්‍රව්සර් යෙදුම්). තනි බ්‍රව්සර් සේවාදායකයකු පමණක් සිටීම ඔබට සැබවින්ම REST අවශ්‍ය නොවන බවට ලකුණක් විය හැකි අතර ඔබ ව්‍යාපෘතිය ඉක්මවා ගොස් ඇත. මෙම අවස්ථා වලදී CRUD API යනු ශක්‍ය විසඳුමක් වන අතර සංවර්ධකයින් මෙම CRUD APIs REST ලෙස හඳුන්වන්නේ ඔවුන් වෙනස නොදන්නා බැවිනි. ඇත්ත වශයෙන්ම ඔබට එවැනි සේවාදායකයකු ක්‍රියාත්මක කළ හැකිය, නමුත් REST යන්නෙන් අදහස් කළේ ස්වයංක්‍රීය සේවාදායකයින් සඳහාය (ඔබ නොදන්නා සංවර්ධකයින් විසින් ලියන ලද සේවාදායක පාර්ශවීය යෙදුම්) මිස අතින් සේවාදායකයින් සඳහා නොවේ (ඔබ විසින් ලියන ලද පරිශීලක පාලිත බ්‍රව්සර් යෙදුම්). තනි බ්‍රව්සර් සේවාදායකයකු පමණක් සිටීම ඔබට සැබවින්ම REST අවශ්‍ය නොවන බවට ලකුණක් විය හැකි අතර ඔබ ව්‍යාපෘතිය ඉක්මවා ගොස් ඇත. මෙම අවස්ථා වලදී CRUD API යනු ශක්‍ය විසඳුමක් වන අතර සංවර්ධකයින් මෙම CRUD APIs REST ලෙස හඳුන්වන්නේ ඔවුන් වෙනස නොදන්නා බැවිනි.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.