একটি REST সন্নিবেশ জন্য সঠিক প্রতিক্রিয়া - সম্পূর্ণ নতুন রেকর্ড, বা শুধু রেকর্ড আইডি মান?


15

আমি একটি REST এপিআই তৈরি করছি যা সন্নিবেশকারীদের (পোষ্ট, আদর্শবান নয়) এবং আপডেটগুলি (পুট, আইডেম্পোটেন্ট) আমাদের আবেদনে ডাটাবেস যুক্ত / আপডেট করার জন্য অনুরোধ করে।

আমি ভাবছি যে কোনও পোস্ট বা ইনসার্টের জন্য প্রতিক্রিয়া হিসাবে আমরা ক্লায়েন্টকে কী ডেটা ফেরত পাঠিয়েছি সে সম্পর্কিত কোনও মানদণ্ড বা সেরা অনুশীলন রয়েছে কিনা। আমাদের কমপক্ষে একটি রেকর্ড আইডি মান ফেরত পাঠাতে হবে (যেমন আপনার নতুন রেকর্ডটি রেকর্ড # 1234)।

আমাদের কি পুরো বস্তু নিয়ে সাড়া দেওয়া উচিত? (উদাহরণস্বরূপ তারা "GET / অবজেক্ট_ টাইপ / 1234" অনুরোধ থেকে ফিরে আসতে চাইবে)

আমাদের কেবল নতুন আইডি মান দিয়ে সাড়া দেওয়া উচিত? (যেমন "{id: 1234}", যার অর্থ তারা যদি পুরো রেকর্ডটি পেতে চান তবে তাদের পুরো রেকর্ডটি ধরার জন্য একটি অতিরিক্ত এইচটিটিপি জিইটি অনুরোধ করতে হবে)

একটি পুনর্নির্দেশ শিরোনাম পুরো বস্তুর জন্য তাদের URL এ নির্দেশ করছে?

পুরোপুরি আর কিছু?


আমি সর্বোত্তম অনুশীলনের বিষয়ে নিশ্চিত নই তবে ব্যক্তিগতভাবে আমার পক্ষে আমি সম্ভবত সদ্য নির্মিত আইডি ফিরিয়ে নেওয়ার বিষয়টি বিবেচনা করব যদি অন্যথায় সফল হয় -1 ইত্যাদি অন্যেরা কী বলছেন তা দেখতে আগ্রহী হন
dreza

উত্তর:


13

ঠিক আছে, এইচটিটিপি অনুসরণ করে একটি আরএসইএস ইন্টারফেসে, যেখানেই সম্ভব, আমি নবনির্মিত রিসোর্সে লোকেশন শিরোনাম ক্ষেত্রের একটি 201 এবং একটি ইউআরআই ফিরিয়ে দেব। স্থিতি কোড সংজ্ঞাগুলি এখানে যা বলে:

10.2.2 201 তৈরি হয়েছে

অনুরোধটি পূরণ হয়েছে এবং এর ফলে একটি নতুন সংস্থান তৈরি করা হয়েছে। নতুন তৈরি হওয়া সংস্থানটি অবস্থানের শিরোনাম ক্ষেত্রের দ্বারা প্রদত্ত সংস্থানটির জন্য সুনির্দিষ্ট নির্দিষ্ট ইউআরআই সহ, প্রতিক্রিয়ার সত্তায় ফিরে আসা ইউআরআই (গুলি) দ্বারা উল্লেখ করা যেতে পারে। প্রতিক্রিয়াটিতে এমন একটি সত্তা অন্তর্ভুক্ত করা উচিত যা সংস্থানীয় বৈশিষ্ট্য এবং অবস্থানের একটি তালিকা রয়েছে যা থেকে ব্যবহারকারী বা ব্যবহারকারী এজেন্ট সবচেয়ে উপযুক্তটিকে বেছে নিতে পারে। সত্তা ফর্ম্যাটটি কন্টেন্ট-টাইপ শিরোনাম ক্ষেত্রে দেওয়া মিডিয়া টাইপ দ্বারা নির্দিষ্ট করা হয়। মূল সার্ভারটি 201 স্ট্যাটাস কোডটি ফেরত দেওয়ার আগে সংস্থান তৈরি করতে হবে। যদি পদক্ষেপটি তাত্ক্ষণিকভাবে সম্পাদন করা যায় না, তবে সার্ভারটি তার পরিবর্তে 202 (স্বীকৃত) প্রতিক্রিয়ার সাথে প্রতিক্রিয়া জানাবে।

যদি কিছু ভুল হয়ে যায় তবে আমি যুক্তি দেব যে -1অন্যেরা যেমন বলেছে ততই আপনাকে ফিরে দেওয়া উচিত নয় , তবে কেবল একটি ক্লায়েন্ট বা সার্ভার ত্রুটি কোড (4xx বা 5xx)। উদাহরণস্বরূপ, যদি কোনও ব্যবহারকারীকে কিছু নতুন রিসোর্স তৈরি করার অনুমতি না দেওয়া হয় তবে আপনি কেবল "401 অননুমোদিত" ফিরিয়ে আনবেন, এর চেয়ে বেশি কিছুই নয়।


শরীর সম্পর্কে কি? খালি নাকি প্রতিক্রিয়াতে পুরো নতুন নির্মিত বস্তু?
বিকাশকারী

আমি জানি দুটি সাধারণ বিকল্প হ'ল 1) নতুন সত্তাটি কোথায় পাওয়া যাবে সেখানে অবস্থানের শিরোনাম স্থাপন করা, বা, 2) শরীরে নতুন সত্তা সহ। আমি ব্যক্তিগতভাবে ব্যবহারিক কারণে পরবর্তীকালের সাথে যাই। সোমটিমস আরও বিশ্রামের অনুভূতির জন্য একত্রিত;)
ব্রুনো শ্যাপার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.