আমার মনে যা আসে তা হ'ল: আপনাকে বিশ্রামপ্রাপ্ত এপিআই URL এ নিজেই পুনরাবৃত্তির প্রতিফলন ঘটায় না। এটি ভাবতে আসুন, আপনার সংস্থানটি কেবলমাত্র নথি।
আপনার যদি পুনরাবৃত্ত কাঠামো অনুসারে আপনার নথিগুলি শারীরিকভাবে সঞ্চিত থাকে তবে একটি অনন্য আইডিতে একটি ম্যাপিং তৈরি করুন এবং ইউআরএলটিতে আইডিটি ব্যবহার করুন:
/rest/documents/{id}
এখন আপনার কাছে যদি আপনার নথিগুলি থাকে:
| ডকুমেন্টনাম | ডকুমেন্টপথ | ডকুমেন্টআইডি |
--------------------------------------------
| abc | / এবিসি | 1 |
| আসাদ | / এবিসি / এস্যাসেড | 2 |
| আসাদ | / এস্যাসিড | 3 |
| বু | / এবিসি / এস্যাসেড / বুও | 4 |
| আরে | / এবিসি / এস্যাসেড / আরে | 5 |
অনুরোধটি /abc/asd
নথির জন্য এই url- এর সাথে পরামর্শ করবে
GET /rest/documents/2
সুতরাং, এখন আপনাকে আপনার এপিআইর ব্যবহারকারীদের আপনার কাঠামোটিকে অল্প প্রচেষ্টা করে অতিক্রম করার উপায় সরবরাহ করতে হবে। এটি আপনার প্রতিক্রিয়া পেইলড (দস্তাবেজ) কোনও বস্তুতে মোড়ানো দ্বারা করা যেতে পারে, এতে অতিরিক্ত ট্র্যাভারসাল তথ্য রয়েছে:
{
data: { /* your document goes here */ },
parent: {"abc": 1 },
children: [ { "boo": 4 }, { "hey": 5} ]
}
আপনি যদি আশা করেন যে ব্যবহারকারীরা একটি মাত্রায় খুব বেশি নথি তৈরি করবেন না, আপনি প্রতিক্রিয়াতে বাচ্চাদের একটি তালিকা অন্তর্ভুক্ত করতে পারেন। যদি এটি না হয় তবে আপনি ব্যবহারকারীর মতো চাইল্ড ডকুমেন্ট আইডি পুনরুদ্ধার করতে পারেন, উদাহরণস্বরূপ ক্যোরিস্ট্রিং প্যারামিটারগুলির মাধ্যমে ফলাফলগুলি পেজ করার জন্য:
GET /rest/documents/2/children?page=2&size=50
পরিশেষে, ক্যোরিস্ট্রিং পরামিতিগুলির কথা বলতে গেলে, আপনি সরাসরি ক্যোরিস্ট্রিং প্যারামিটারগুলির মাধ্যমে পাথের তথ্য সরবরাহ করতে পারেন:
GET /rest/documents?path=somepath&page=1&size=42
উল্লিখিত সমস্ত পদ্ধতির আশা করে যে GET /rest/documents
সমতলটি কেবলমাত্র মূল ডকুমেন্টগুলি দেয়।