আমি একটি RESTful এপিআই তৈরি করছি যা সঞ্চিত ক্রেডিট কার্ড ব্যবহার করে অর্ডার স্থাপন সহ বেশ কয়েকটি ব্যবহারকারীর ইন্টারঅ্যাকশন প্রক্রিয়া করবে।
একটি সফল অর্ডারের ক্ষেত্রে, আমি 200 ওকে ফিরিয়ে দিচ্ছি, এবং সেই ক্ষেত্রে যেখানে আদেশের অনুরোধটি ত্রুটিযুক্ত বা অবৈধ I'm আমি 400 খারাপ অনুরোধটি ফিরিয়ে দিচ্ছি। তবে অর্ডারের প্রকৃত প্রক্রিয়াকরণের সময় যদি কোনও সমস্যা হয় তবে আমি কী ফিরিয়ে আনব?
- ক্লায়েন্ট POSTS ব্যবহারকারীর সংস্থার জন্য সার্ভারে আদেশ দেয়। ব্যবহারকারীর অস্তিত্ব না থাকলে, 404 পাওয়া যায় না ফিরে আসে।
- অর্ডার বিন্যাস এবং তথ্য যাচাই করা হয়। বৈধ না হলে 400 খারাপ অনুরোধটি ফেরত দেওয়া হবে।
- অর্ডার প্রক্রিয়া করা হয়। যদি অর্ডারটি সফল হয়, একটি 201 তৈরি করা অর্ডারের জন্য ফিরে আসে। যদি কোনও অপ্রত্যাশিত ত্রুটি দেখা দেয় তবে একটি 500 সার্ভার ত্রুটি ফিরে আসে।
শেষ পদক্ষেপটি হ'ল সমস্যা - যদি অন্য কোনও কারণে আদেশটি না পূর্ণ হয় তবে আমি কী ফিরিয়ে দেব? সম্ভাব্য পরিস্থিতিতে অন্তর্ভুক্ত থাকতে পারে:
- পণ্য বিক্রি হয়
- ব্যবহারকারীর সর্বাধিক অর্ডার সীমাতে পৌঁছেছে
- ক্রেডিট কার্ড লেনদেন ব্যর্থতা (অপর্যাপ্ত তহবিল, ইত্যাদি)
এটি 400 বা 500 জনের পক্ষে উপযুক্ত বলে মনে হয় না anything আরও ভাল কোড না থাকলে আমি এটিকে 400 হিসাবে দেখতে পাচ্ছিলাম - ব্যবসায়ের নিয়ম অনুসারে অনুরোধটি অবৈধ। এটি ঠিক সঠিক বলে মনে হচ্ছে না।
সম্পাদনা: একই বিষয়ের এই বিদ্যমান আলোচনাটিও খুঁজে পেয়েছি । উত্তরগুলির সমস্ত উত্তর এই ধরণের লঙ্ঘনের জন্য স্থিতি কোডগুলি ব্যবহার করে বলে মনে হচ্ছে, 400, 409 বা 422 এক্সটেনশন ব্যবহারের মধ্যে কিছু আলোচনা রয়েছে।