যার পক্ষে এটি মূল্যবান তা আমি অন্যভাবে করি। একটি সফল কলটিতে সবে JSON অবজেক্ট রয়েছে। আমার কোনও উচ্চ স্তরের জেএসওএন অবজেক্টের দরকার নেই যাতে সাফল্যের ক্ষেত্র এবং JSON অবজেক্ট রয়েছে এমন একটি পে-লোড ক্ষেত্র রয়েছে success আমি শিরোনামে HTTP স্থিতির জন্য 200 বা উপযুক্ত পরিসরে যথাযথ JSON অবজেক্টটি ফিরিয়ে দিই।
তবে, যদি কোনও ত্রুটি (400 পরিবারে কিছু) থাকে তবে আমি একটি সুসংহত JSON ত্রুটি বস্তুটি ফিরিয়ে দিই। উদাহরণস্বরূপ, যদি ক্লায়েন্ট কোনও ইমেল ঠিকানা এবং ফোন নম্বর সহ কোনও ব্যবহারকারীকে পোস্ট করছে এবং এর মধ্যে একটি ত্রুটিযুক্ত (যেমন আমি এটি আমার অন্তর্নিহিত ডাটাবেসে সন্নিবেশ করতে পারি না) আমি এই জাতীয় কিছু ফিরিয়ে দেব:
{
"description" : "Validation Failed"
"errors" : [ {
"field" : "phoneNumber",
"message" : "Invalid phone number."
} ],
}
এখানে গুরুত্বপূর্ণ বিটগুলি হ'ল "ক্ষেত্র" বৈশিষ্ট্যটি অবশ্যই জেএসওএন ফিল্ডের সাথে মিলবে যা বৈধ হওয়া যায়নি। এটি ক্লায়েন্টদের তাদের অনুরোধে ঠিক কী ভুল হয়েছে তা জানতে দেয়। এছাড়াও, "বার্তা" অনুরোধের লোকেলের মধ্যে রয়েছে। যদি "ইমেলএড্রেস" এবং "ফোন নাম্বার" উভয়ই অবৈধ হয় তবে "ত্রুটি" অ্যারেটিতে উভয়ের জন্য এন্ট্রি থাকবে। একটি 409 (সংঘাত) JSON প্রতিক্রিয়া বডিটি দেখতে দেখতে এটি দেখতে পারে:
{
"description" : "Already Exists"
"errors" : [ {
"field" : "phoneNumber",
"message" : "Phone number already exists for another user."
} ],
}
এইচটিটিপি স্থিতি কোড এবং এই জেএসওএন দিয়ে ক্লায়েন্টের কাছে একটি নির্ধারক পদ্ধতিতে ত্রুটির প্রতিক্রিয়া জানানো দরকার এবং এটি কোনও নতুন ত্রুটি মান তৈরি করে না যা HTTP স্থিতি কোডগুলি প্রতিস্থাপনের চেষ্টা করে complete দ্রষ্টব্য, এগুলি কেবল 400 ত্রুটির পরিসীমাতে ঘটে। 200 ব্যাপ্তির যে কোনও কিছুর জন্য আমি উপযুক্ত যা ফিরিয়ে দিতে পারি। আমার জন্য এটি প্রায়শই এইচএএল-জাতীয় JSON অবজেক্ট তবে এটি এখানে আসলে গুরুত্বপূর্ণ নয়।
আমি যুক্ত করার বিষয়ে যে জিনিসটি ভেবেছিলাম তা হ'ল "ত্রুটিগুলি" অ্যারে এন্ট্রিগুলিতে বা নিজেই JSON অবজেক্টের মূলের একটি সংখ্যাসূচক ত্রুটি কোড। তবে এখনও পর্যন্ত আমাদের এটির প্রয়োজন হয়নি।