একটি RESTful এপিআই কতটা পৃথক হওয়া উচিত?


12

আমি এর আগে কখনও একটি রেস্টস্টুল এপিআই তৈরি করি নি এবং আমি ভাবছি যে এটি কতটা আলাদা হওয়া উচিত?

উদাহরণস্বরূপ বলতে দিন যে আমার একটি গ্রাহক আছে যার একটি নাম, ঠিকানা, ফোন নম্বর, ইমেল ঠিকানা, ভাষা ইত্যাদি রয়েছে

এটি কী বোঝায় যে প্রতিটি পৃথক ক্ষেত্র আপডেট করার উপায় আছে (আপডেট ঠিকানা, আপডেট ইমেল ঠিকানা ইত্যাদি), বা পুরো গ্রাহকের জন্য কেবল একটি একক আপডেট থাকা উচিত এবং প্রতিটি ক্ষেত্রটি isচ্ছিক?


3
আপনি REST এর কোন অংশ চান? আপনার যদি কেবলমাত্র একটি সাধারণ এপিআই প্রয়োজন হয় যা মানদণ্ডগুলির বিষয়ে চিন্তা না করে তবে আপনি এটি থারস্টেন মলারের গ্রহণযোগ্য উত্তরের মতো হ্যান্ডেল করতে পারবেন। আপনি যদি সত্যিকারের বিশ্রাম চান তবে আপনার রয় ফিল্ডিংয়ের জন্য অনুসন্ধান করতে হবে (উদাহরণস্বরূপ + গবেষণামূলক প্রবন্ধ)। তিনি রেস্টের আবিষ্কারক। আপনি দেখতে পাবেন যে উদাহরণস্বরূপ ধারণা যে কোনও উত্স == একটি সারণী সত্য নয়। আপনি আরও দেখতে পাবেন যে আপনার প্রশ্নের উদাহরণস্বরূপ এক বা একাধিক ক্ষেত্র আপডেট করার জন্য একটি প্যাচ এইচটিটিপি পদ্ধতি ব্যবহার করা বেশ সাধারণ। যেখানে উত্স বা পুট (এখানে প্রচুর বিতর্ক) পদ্ধতিটি কোনও সংস্থার সম্পূর্ণ আপডেটের জন্য ব্যবহার করা যেতে পারে।
লুক ফ্রাঙ্কেন

উত্তর:


17

আপনার একটি সংস্থার জন্য একটি আপডেট ক্রিয়া রয়েছে। থাম্বের মোটামুটি নিয়ম হিসাবে আপনার ডাটাবেসে একটি সারণী একটি সংস্থান হবে। সুতরাং আপনার উদাহরণে গ্রাহকের জন্য একটি আপডেট ক্রিয়া সহ একটি নিয়ামক রয়েছে এবং ক্ষেত্রগুলি যথাসম্ভব alচ্ছিক।

এর ব্যতিক্রম হতে পারে (উদাহরণস্বরূপ আপনি যদি পাসওয়ার্ড এবং পাসওয়ার্ড_সম্পাদনের প্রত্যাশা পাসওয়ার্ডটি আপডেট করেন) তবে বেশিরভাগ ক্ষেত্রে এটি সত্য holds

এটি সম্ভবত সম্ভবত যে ব্যতিক্রমগুলি নিয়ন্ত্রক যা কিছু সংস্থার জন্য সীমাবদ্ধ ক্রিয়া রয়েছে যেমন একটি সেশনস কনট্রোলার যা কেবল তৈরি এবং ধ্বংস করা যায়। আপনি একক ক্ষেত্রের জন্য ক্রিয়া করতে চান এটি খুব কমই অসম্ভব।

আপনার উদাহরণে একটি জিনিস নিজস্ব উত্স হিসাবে পরিচালনা করা যেতে পারে এবং এটি হল ঠিকানা। আপনার যদি ঠিকানাগুলির জন্য একটি টেবিল থাকে, বিশেষত গ্রাহক প্রতি একাধিক ঠিকানা থাকলে (বিলিং, বিতরণ ...) এটি নেস্টেড সংস্থান হিসাবে পরিচালনা করা যেতে পারে। তবে পুরো অ্যাড্রেস রিসোর্সের জন্য আবার একটি আপডেট ক্রিয়া।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.