আমরা একটি নতুন আরএসটি এপিআই চালু করছি এবং আমাদের ইনপুট পরামিতিগুলি কীভাবে ফর্ম্যাট করা উচিত তা সম্পর্কে সর্বোত্তম অনুশীলনের জন্য কিছু সম্প্রদায় ইনপুট চেয়েছিলাম:
এখনই, আমাদের এপিআই খুব JSON কেন্দ্রিক (কেবলমাত্র JSON প্রদান করে)। আমরা এক্সএমএল ফিরিয়ে দিতে চাই / চাই তা নিয়ে একটি পৃথক বিষয় The
আমাদের এপিআই আউটপুটটি JSON কেন্দ্রিক হওয়ায় আমরা এমন একটি পথ যাচ্ছি যেখানে আমাদের ইনপুটগুলি কিছুটা JSON কেন্দ্রিক এবং আমি ভাবছিলাম যে এটি সাধারণের পক্ষে কিছুটা সহজ হলেও অদ্ভুত।
উদাহরণস্বরূপ, কয়েকটি পণ্য বিবরণ পেতে যেখানে আমাদের কাছে বর্তমানে একযোগে একাধিক পণ্য টানা যেতে পারে:
http://our.api.com/Product?id=["101404","7267261"]
আমাদের কি এটিকে সরল করে দেওয়া উচিত:
http://our.api.com/Product?id=101404,7267261
বা জেএসওএন ইনপুট ব্যবহার করা সহজ? আরও বেদনা?
আমরা উভয় শৈলী গ্রহণ করতে চাইব তবে সেই নমনীয়তাটি কি আসলে আরও বিভ্রান্তি এবং মাথা ব্যথার কারণ হতে পারে (রক্ষণাবেক্ষণযোগ্যতা, ডকুমেন্টেশন ইত্যাদি)?
আরও জটিল কেসটি হ'ল যখন আমরা আরও জটিল ইনপুট সরবরাহ করতে চাই। উদাহরণস্বরূপ, আমরা যদি অনুসন্ধানে একাধিক ফিল্টারকে অনুমতি দিতে চাই:
http://our.api.com/Search?term=pumas&filters={"productType":["Clothing","Bags"],"color":["Black","Red"]}
আমরা অগত্যা ফিল্টার ধরণের (যেমন পণ্য টাইপ এবং রঙ) এর অনুরোধের নাম হিসাবে লাগাতে চাই না:
http://our.api.com/Search?term=pumas&productType=["Clothing","Bags"]&color=["Black","Red"]
কারণ আমরা সমস্ত ফিল্টার ইনপুট একসাথে গ্রুপ করতে চেয়েছিলাম।
শেষ পর্যন্ত, এটি কি সত্যিই গুরুত্বপূর্ণ? সম্ভবত সেখানে প্রচুর জেএসওএন ব্যবহার রয়েছে যে ইনপুট টাইপটিতে তেমন কিছু যায় আসে না।
আমি জানি যে আমাদের জাভাস্ক্রিপ্ট ক্লায়েন্টরা এপিএজে AJAX কল করছে তাদের জীবন সহজ করার জন্য JSON ইনপুটগুলির প্রশংসা করতে পারে।
[]
বাক্য গঠন সর্বদা সমর্থিত হয় না (এবং এটি সাধারণ হওয়া সত্ত্বেও ইউআরআই স্পেসটি লঙ্ঘন করতে পারে)। কিছু HTTP সার্ভার এবং প্রোগ্রামিং ভাষা কেবল নামের পুনরাবৃত্তি করতে পছন্দ করবে (উদাঃproductType=value1&productType=value2
)।