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


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.