ක්රීඩාවට ප්රමාද විය හැකි නමුත් REST API එකක් සෑදීමට උත්සාහ කරන අතරතුර මම මෙම අර්ථකථන ගැටලුවට බාධා කළෙමි.
රිකන් ගේ පිළිතුරෙන් ටිකක් පුළුල් කිරීම සඳහා, ඔබට 409 Conflict
හෝ 403 Forbidden
තත්වය මත පදනම්ව භාවිතා කළ හැකි යැයි මම සිතමි - කෙටියෙන් කිවහොත්, ගැටුම නිරාකරණය කර ඉල්ලීම සම්පුර්ණ කිරීමට පරිශීලකයාට කිසිවක් කළ නොහැකි විට 403 දෝෂයක් භාවිතා කරන්න (උදා: ඔවුන්ට යැවිය නොහැක DELETE
සම්පත පැහැදිලිව ඉවත් කිරීමට ඉල්ලන්න), නැතහොත් යමක් කළ හැකි නම් 409 භාවිතා කරන්න.
සේවාදායකයා ඉල්ලීම තේරුම් ගත් නමුත් එය ඉටු කිරීම ප්රතික්ෂේප කරයි. බලය පැවරීම උදව් නොකරන අතර ඉල්ලීම නැවත නොකෙරේ. ඉල්ලීමේ ක්රමය HEAD නොවූයේ නම් සහ ඉල්ලීම ඉටු නොවීමට හේතුව සේවාදායකයා විසින් ප්රසිද්ධියට පත් කිරීමට කැමති නම්, එම ආයතනය ප්රතික්ෂේප වීමට හේතුව එය විස්තර කළ යුතුය. සේවාදායකයාට මෙම තොරතුරු ලබා දීමට සේවාදායකයා අකමැති නම්, ඒ වෙනුවට 404 (සොයාගත නොහැකි) තත්ව කේතය භාවිතා කළ හැකිය.
වර්තමානයේදී, යමෙකු "403" යැයි පවසන අතර අවසර හෝ සත්යාපන ගැටළුවක් මතකයට එයි, නමුත් පිරිවිතර පවසන්නේ එය මූලිකවම සේවාදායකයා සේවාදායකයාට එය සිදු නොකරන බවත් නැවත එය විමසන්න එපා බවත් සේවාදායකයා එසේ නොකළ යුත්තේ ඇයිද යන්නයි. 'ටී.
සඳහා පරිදි PUT
එදිරිව POST
... POST
පරිශීලක කිසිදු වත්කමක් ඇති හෝ සම්පත් සඳහා හඳුනාගැනීමේ නිර්මාණය කළ යුතු විට සම්පතක් නව උදාහරණයක් නිර්මාණය කිරීම සඳහා භාවිතා කළ යුතුය. PUT
සම්පත් අනන්යතාවය දැනගත් විට භාවිතා වේ.
...
POST සහ PUT ඉල්ලීම් අතර ඇති මූලික වෙනස ඉල්ලීම- URI හි විවිධ අර්ථයන්ගෙන් පිළිබිඹු වේ. POST ඉල්ලීමක URI විසින් සංවෘත ආයතනය හැසිරවිය හැකි සම්පත හඳුනා ගනී. එම සම්පත දත්ත පිළිගැනීමේ ක්රියාවලියක්, වෙනත් ප්රොටෝකෝලයකට පිවිසෙන දොරටුව හෝ ව්යාඛ්යාව පිළිගන්නා වෙනම ආයතනයක් විය හැකිය. ඊට හාත්පසින්ම වෙනස්ව, PUT ඉල්ලීමක ඇති URI විසින් ඉල්ලීම සමඟ බැඳී ඇති ආයතනය හඳුනා ගනී - පරිශීලක නියෝජිතයා URI අදහස් කරන්නේ කුමක්දැයි දන්නා අතර සේවාදායකයා වෙනත් සම්පත් සඳහා ඉල්ලීම යෙදීමට උත්සාහ නොකළ යුතුය. ඉල්ලීම වෙනත් යූආර්අයි වෙත යොමු කිරීමට සේවාදායකයා කැමති නම්,
එය 301 (ස්ථිරව ගෙන යන) ප්රතිචාරයක් යැවිය යුතුය; පරිශීලක නියෝජිතයා පසුව ඉල්ලීම හරවා යැවිය යුතුද නැද්ද යන්න පිළිබඳව තමන්ගේම තීරණයක් ගනී.