কল্পনা করুন আপনার 2 টি সত্ত্বা, প্লেয়ার এবং টিম রয়েছে , যেখানে প্লেয়ার একাধিক দলে থাকতে পারে। আমার ডেটা মডেলে, প্রতিটি সত্তার জন্য আমার কাছে একটি টেবিল এবং সম্পর্কগুলি বজায় রাখার জন্য একটি টেবিল রয়েছে। হাইবারনেট এটি পরিচালনা করতে ভাল, তবে আমি কীভাবে এই সম্পর্কটিকে একটি বিশ্রামদল এপিআইতে প্রকাশ করতে পারি?
আমি কয়েকটা উপায় ভাবতে পারি। প্রথমত, আমার প্রতিটি সত্তাকে অন্যটির একটি তালিকা থাকতে পারে, সুতরাং প্লেয়ার অবজেক্টের এটির সাথে সম্পর্কিত টিমের একটি তালিকা থাকতে পারে এবং প্রতিটি টিমের অবজেক্টের সাথে সম্পর্কিত প্লেয়ারের একটি তালিকা থাকতে পারে। সুতরাং কোনও দলে কোনও খেলোয়াড় যুক্ত করার জন্য, আপনি কেবল খেলোয়াড়ের উপস্থাপনাটি একটি শেষ পয়েন্টে /playerপোস্ট /teamকরবেন, অনুরোধের পেডলোড হিসাবে উপযুক্ত অবজেক্টের সাথে পোস্ট বা পোস্টের মতো কিছু । এটি আমার কাছে সবচেয়ে "বিশ্রামের" মনে হলেও কিছুটা অদ্ভুত মনে হচ্ছে।
/api/team/0:
{
name: 'Boston Celtics',
logo: '/img/Celtics.png',
players: [
'/api/player/20',
'/api/player/5',
'/api/player/34'
]
}
/api/player/20:
{
pk: 20,
name: 'Ray Allen',
birth: '1975-07-20T02:00:00Z',
team: '/api/team/0'
}
আমি অন্য যেভাবে এটি করার কথা ভাবতে পারি তা হ'ল সম্পর্কটিকে তার নিজস্ব হিসাবে একটি উত্স হিসাবে প্রকাশ করা। সুতরাং প্রদত্ত দলে সমস্ত খেলোয়াড়ের তালিকা দেখতে আপনি একটি জিইটি /playerteam/team/{id}বা এর মতো কিছু করতে পারেন এবং প্লেয়ারটিম সত্ত্বার তালিকা ফিরে পেতে পারেন। কোনও খেলোয়াড়কে একটি দলে যোগ করতে, /playerteamপেডলোড হিসাবে উপযুক্তভাবে নির্মিত প্লেয়ারটিয়াম সত্তা সহ পোষ্ট করুন ।
/api/team/0:
{
name: 'Boston Celtics',
logo: '/img/Celtics.png'
}
/api/player/20:
{
pk: 20,
name: 'Ray Allen',
birth: '1975-07-20T02:00:00Z',
team: '/api/team/0'
}
/api/player/team/0/:
[
'/api/player/20',
'/api/player/5',
'/api/player/34'
]
এর জন্য সেরা অনুশীলন কী?