আরইএসটি মডেলটিতে বাসা বাঁধার যথাযথ উপায় কী?


14

আমি পরিষেবার একটি REST এপিআই ডিজাইন করছি এবং নীড়ের সংস্থানগুলির যথাযথ পথে আটকে আছি।

সংস্থানসমূহ: অংশীদার, টিকিট, সেটিংস

সংস্থানসমূহের মধ্যে সংযোগগুলি:

  • অংশীদার অনেক টিকিট আছে,
  • অংশীদার সেটিংস সেট আছে,

Busines যুক্তি:

  • আপনি সমস্ত অংশীদারকে বেনামী ব্যবহারকারী হিসাবে তালিকাবদ্ধ করতে পারেন,
  • আপনি অনামী ব্যবহারকারী হিসাবে নির্দিষ্ট অংশীদারটিতে নতুন টিকিট যুক্ত করতে পারেন,
  • শুধুমাত্র অংশীদার তার টিকিট তালিকা করতে পারে,
  • শুধুমাত্র অংশীদার তার টিকিট পরিবর্তন করতে পারে,
  • শুধুমাত্র অংশীদার সেটিংস তালিকা করতে পারে,
  • শুধুমাত্র অংশীদার সেটিংস সংশোধন করতে পারে,

আমি এখন অবধি যা করেছি:

অংশীদার সংস্থান

জিইটি / অংশীদারদের - সমস্ত অংশীদারদের তালিকাভুক্ত করুন
জিইটি / অংশীদারি /: আইডি - নির্দিষ্ট করা অংশীদারের বিবরণ প্রদর্শন করুন: আইডি প্যারামিটার
জিইটি / অংশীদার /: অংশীদার_আইডি / টিকিট - অংশীদারের টিকিটের তালিকা
জিইটি / অংশীদারি /: অংশীদার_আইডি / টিকিট /: আইডি - বিশদ নিদিষ্ট পার্টনার এর টিকেট
পোস্ট / অংশীদারদের /: - partner_id / টিকেট নতুন টিকেট সংরক্ষণ
id মাপদণ্ড: -: partner_id / টিকেট / আপডেট টিকেট দ্বারা নির্দিষ্ট আইডি PUT / অংশীদারদের /
তাহলে GET / অংশীদারদের /: partner_id / সেটিংস - তালিকা পার্টনার এর সেটিংস
PUT / অংশীদার /: পার্টনার_আইডি / সেটিংস - অংশীদারের সেটিংস আপডেট করুন

সমস্যা / প্রশ্ন

নেস্টেড রিসোর্সগুলি (টিকিট, সেটিংস) পৃথকীকরণের উত্সগুলিকে বিভক্ত করার বা তাদের পৃথক সংস্থান হিসাবে নকল করার উপযুক্ত উপায় কি হবে?

যেমন

জিইটি / টিকিট /: আইডি
পোষ্ট / টিকিট
পুট / টিকিট /: আইডি

GET / সেটিংস
পুট / সেটিংস

উত্তর:


8

ঘৃণা :

GET /partners/:partner_id/tickets - অংশীদারের টিকিটের তালিকা, সম্ভবত ফর্মের ইউআরআইয়ের একটি তালিকা ফেরত দেয় /tickets/:id

GET /partners/:partner_id/tickets/:id - কোন দরকার নেই

POST /partners/:partner_id/tickets - টিকিট তৈরি করে এবং অংশীদারকে সহযোগী করে, ফর্মের নতুন ইউআরআই সহ একটি 201 প্রদান করে /tickets/:id


2
এখন আমি আরও বুঝতে পারি। অনেক অনেক ধন্যবাদ :) তবে পারফরম্যান্সের কী হবে? সেই পরিস্থিতি ধরে নেওয়া যাক: আপনি কিছু সংক্ষিপ্ত তথ্য দিয়ে টিকিটের তালিকা তৈরি করতে চান। আপনাকে অংশীদারের জন্য টিকিটের তালিকার জন্য অনুরোধ করতে হবে এবং সেই অনুরোধের পরে প্রতিটি টিকিট স্বতন্ত্র। আমি কি সঠিক?
প্রজেমেক

হ্যাঁ ঠিক. অথবা আপনি /partners/:partner_id/ticketsতালিকার প্রতিটি টিকিটের জন্য কিছু দরকারী ডেটা অন্তর্ভুক্ত করতে পারেন , কেবল টিকিটের ক্যানোনিকাল ইউআরআই নয়। উদাহরণস্বরূপ, জেএসএনে হতে পারে [{href='/tickets/12',value=10,due='2013-08-13'},{href='/tickets/18',value=7,due='2013-09-02'}], তাই ক্লায়েন্টটি তাত্ক্ষণিকভাবে কিছু টেবিল প্রদর্শন করতে পারে এবং অতিরিক্ত হেরফেরের জন্য পুরো টিকিট সংস্থান (গুলি) GET / PUT রাখতে পারে।
জাভিয়ের

ঠিক আছে এটা পরিষ্কার।
প্রেজেক

BTW। / অংশীদারদের জন্য: অংশীদার_আইডি / টিকিটগুলি অংশীদার বা টিকিট সংস্থান বিভাগে ডক্স সরবরাহ করা উচিত?
প্রেজেমেক

@ জাভির ডিলেট করার কী আছে? DELETE /tickets/:id?
মেংদি গাও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.