একটি REST এপিআইতে rel = "স্ব" লিংকের বিন্দুটি কী?


11

আমি প্রায়শই এইচটিএমএল নথিগুলিতে নিম্নলিখিতগুলি দেখি

<link rel="self" href="http://example.com/something">

বা JSON এ এটি পছন্দ করুন

 link: {
     rel="self",
     href="http://example.com/something"
 }

বা এক্সএমএলে

 <atom:link rel="self" href="http://example.com/something" />

সুতরাং আমার কিছু প্রশ্ন ছিল:

  1. এই লিঙ্কটি কেন অন্তর্ভুক্ত করবেন? এতে কী লাভ হয়? (দয়া করে আমাকে বলুন এর কারণ রয়েছে এবং এটি কেবল "ভাল অনুশীলন" তাবিজ নয়)
  2. কীভাবে আমি আমার ক্লায়েন্টগুলিতে এই লিঙ্কটি ব্যবহার করব? এই লিঙ্কটির জন্য ব্যবহারের ক্ষেত্রে কী কী?
  3. আমি কখন এই লিঙ্কটি ব্যবহার করব না ? কখন এটি অন্তর্ভুক্ত করা অর্থহীন?

3
"এই পৃষ্ঠাটি বুকমার্ক করতে এখানে ক্লিক করুন" এমন একটি ব্যবহারের ক্ষেত্রে হবে যেখানে আপনি "স্ব" রেফারেন্সটি ব্যবহার করতে পারেন। আরও সাধারণভাবে, কারণ রেস্ট স্টেটহীন, সার্ভারের কাছে অনুরোধটি কোথা থেকে এসেছে তা জানার কোনও উপায় নেই, সুতরাং এটি সম্পূর্ণভাবে সম্ভব যে পৃষ্ঠায় এটি ফিরে আসে তার নিজস্ব ইউআরআই জানতে হবে।
রজার

দেখে মনে হচ্ছে এই মন্তব্যটি বেশ ভাল উত্তর দেবে :)
মাইক চেম্বারলাইন

উত্তর:


8

এটি একটি স্ব-রেফারেন্স, তাই ক্লায়েন্ট জানতে পারবেন যে আইআরআই ( http://example.com/something) প্রতিনিধিত্ব করার বিষয়ে সংস্থানটির সনাক্তকারী।

এটি গুরুত্বপূর্ণ হতে পারে যখন আপনার সংস্থার একাধিক শনাক্তকারী থাকতে পারে, উদাহরণস্বরূপ http://example.com/users/1এবং http://example.com/users/1?fields="name"একই সংস্থানটি সনাক্ত করতে পারে তবে সেগুলির মধ্যে একটি জিইটি বিভিন্ন উপস্থাপনার ফলস্বরূপ হতে পারে।

এইচএএল এর মতো মিডিয়া ধরণের মাধ্যমে আপনি এম্বেড থাকা সংস্থানগুলি সনাক্ত করতে এটি ব্যবহার করেন। উদাহরণ স্বরূপ:

{
    "nick": "John",
    "_embedded": {
        "cars": {
            "items": [
                //...
            ],
            "_links": {
                "self": {
                    "href": "http://example.com/users/john/cars"
                }
            }
        }
    },
    "_links": {
        "self": {
            "href": "http://example.com/users/john"
        }
    }
}


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.