بخش های اصلی

وب سرویس RESTful

وب سرویس های RESTful – منابع (Resources)

منبع (Resource) چیِه؟

معماریِ REST با تمام محتوا ها مثل یک منبع (resource)، رفتار می کنه. این منابع می توانند فایل متنی، صفحه های html، عکس ها، ویدیوها یا اطلاعات پویایِ کسب و کار باشن. REST سرور، دسترسی به منابع  را به سادگی فراهم می کنه و REST کلاینت، به منابع دسترسی پیدا می کنه و آن ها را تغییر میده. در این معماری هر منبع توسط URIها/IDهایِ سراسری (gobal)، شناسایی میشه. REST از انواع روش های مختلف ارائه برای نمایش منابع استفاده می کنه، مثل text، JSON و XML. JSON، امروزه، محبوب ترین فرمت استفاده شده در وب سرویس هاست.

نمایش منابع (resources)

منبع در REST، بسیار شبیه به شیء (Object) در برنامه های مبتنی بر شیء یا موجودیت (Entity) در پایگاه داده است. وقتی منبعی شناسایی بشه، نمایش آن با استفاده از فرمتی استاندارد انجام میشه بنابراین سرور می تواند منبع (resource) را به فرمت های گفته شده در بالا، بفرسته و کلاینت می تواند آن فرمت ها را درک کنه.

برای مثال، در بخشِ آموزش وب سرویس های RESTful – اولین برنامه، کاربر، منبع است و با فرمتِ XML زیر نمایش داده شده:

<user>
   <id>1</id>
   <name>Mahesh</name>
   <profession>Teacher</profession>
</user>

این منبع را می توان بصورت زیر با فرمتِ JSON هم نمایش داد:

{
   "id":1,
   "name":"Mahesh",
   "profession":"Teacher"
}

ارائه ی خوبِ منابع (Resources)

REST، مجبور و محدود به استفاده از فرمتِ ارائه ی منبع نیست. کلاینت می تواند از سرور، ارائه را با فرمتِ JSON درخواست کنه درحالی که ممکنه کلاینت دیگه ای ارائه ی همان منبع را از سرور، با فرمت XML درخواست کنه و .... . پاس دادن منبع به کلاینت، به فرمتی که کلاینت بتواند آن را درک کنه، بر عهده ی سرورِه.

در ادامه نکات مهمی که باید هنگام طراحی فرمت ارائه ی یک منبع در وب سرویس های RESTful در نظر گرفته بشن، آمده:

  • قابل درک بودن: هم سرور و هم کلاینت، هردو باید قادر به درک و استفاده از فرمت ارائه ی منبع ، باشن.
  • کامل بودن: فرمت باید قادر به ارائه ی کامل منبع باشه. برای مثال، منبع می تواند حاوی منبع دیگه ای باشه. فرمت باید توانایی ارائه ی ساختارهای پیچیده را هم مثل ساختارهای ساده، داشته باشه.
  • قابلیتِ Link: منبع می تواند لینکی به منبع دیگه ای داشته باشه، فرمت باید بتواند چنین وضعیت هایی را هم هَندِل کنه.

به هر حال، در حال حاضر، بیش تر وب سرویس ها منابع را با استفاده از فرمت های XML یا JSON ارائه میدن. کتاب خانه ها و ابزارهای زیادی برای درک، تجزیه و تحلیل و تغییر اطلاعاتِ XML و JSON، وجود داره.

در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

وب سرویس RESTful

RESTful Web Services

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد