وب‌سرویس فیلم‌ها (آزمایشی)
این وب‌سرویس برای ارائه‌ی اطلاعات درباره‌ی فیلم‌های برتر تاریخ است که با هدف آموزشی طراحی شده است.

راهنمای وب سرویس


این وب‌سرویس دارای متدهای گوناگون برای دریافت و ثبت اطلاعات است، در زمان استفاده از این متدها باید به پارامترهای مشخص شده در راهنما توجه کنید. در این وب‌سرویس چهارنوع پارامتر وجود دارد:
۱- Header- این پارامترها به هدر درخواست اضافه می‌شوند.
۲- Query- پارامترهای کوئری در ادامه‌ی آدرس و بعد از علامت '?' قرار می‌گیرند.
۳- Path- در بخشی از آدرس قرار می‌گیرند.
۴- Body- این نوع از پارامترها به عنوان یک خصوصیت در یک شیء Json داخل body درخواست قرار می‌گیرند.

برای استفاده از این وب‌سرویس نیاز به دریافت هیچگونه api_key یا token ندارید اما توجه داشته باشید که اطلاعات ثبت شده توسط شما در این وب‌سرویس، بعد از 10 دقیقه از روی آن پاک می‌شود.

لیست متدهای این وب‌سرویس به شرح زیر می باشد:

دریافت لیست فیلم‌ها

با استفاده از این متد می‌توانید لیست فیلم‌های موجود در این وب‌سرویس را دریافت کنید. (فیلم‌های ثبت شده توسط کاربران وب‌سرویس در این لیست حضور ندارند)

  نام پارامتر نوع پارامتر توضیحات
دلخواه page query-عدد شماره صفحه‌ی اطلاعات

نمونه جواب این متد به شکل زیر می باشد:

{
  "data": [
    {
      "id": 1,
      "title": "The Shawshank Redemption",
      "poster": "http://moviesapi.ir/images/tt0111161_poster.jpg",
      "genres": [
        "Crime",
        "Drama"
      ],
      "images": [
        "http://moviesapi.ir/images/tt0111161_screenshot1.jpg",
        "http://moviesapi.ir/images/tt0111161_screenshot2.jpg",
        "http://moviesapi.ir/images/tt0111161_screenshot3.jpg"
      ]
    },
    {
      "id": 2,
      "title": "The Godfather",
      "poster": "http://moviesapi.ir/images/tt0068646_poster.jpg",
      "genres": [
        "Crime",
        "Drama"
      ],
      "images": [
        "http://moviesapi.ir/images/tt0068646_screenshot1.jpg",
        "http://moviesapi.ir/images/tt0068646_screenshot2.jpg",
        "http://moviesapi.ir/images/tt0068646_screenshot3.jpg"
      ]
    }
  ],
  "metadata": {
    "current_page": 1,
    "per_page": 2,
    "page_count": 25,
    "total_count": 250
  }
}
                

جستجوی فیلم براساس نام

با استفاده از این متد می‌توانید در بین فیلم‌های وب‌سرویس و فیلم‌های ثبت‌شده توسط کاربران وب‌سرویس جستجو کنید.

  نام پارامتر نوع پارامتر توضیحات
اجباری q query-رشته نام فیلم
دلخواه page query-عدد شماره صفحه‌ی اطلاعات

نمونه جواب این متد به شکل زیر می‌باشد:

{
  "data": [
    {
      "id": 1,
      "title": "The Shawshank Redemption",
      "poster": "http://moviesapi.ir/images/tt0111161_poster.jpg",
      "genres": [
        "Crime",
        "Drama"
      ],
      "images": [
        "http://moviesapi.ir/images/tt0111161_screenshot1.jpg",
        "http://moviesapi.ir/images/tt0111161_screenshot2.jpg",
        "http://moviesapi.ir/images/tt0111161_screenshot3.jpg"
      ]
    },
    {
      "id": 2,
      "title": "The Godfather",
      "poster": "http://moviesapi.ir/images/tt0068646_poster.jpg",
      "genres": [
        "Crime",
        "Drama"
      ],
      "images": [
        "http://moviesapi.ir/images/tt0068646_screenshot1.jpg",
        "http://moviesapi.ir/images/tt0068646_screenshot2.jpg",
        "http://moviesapi.ir/images/tt0068646_screenshot3.jpg"
      ]
    }
  ],
  "metadata": {
    "current_page": 1,
    "per_page": 2,
    "page_count": 25,
    "total_count": 250
  }
}
                            

ثبت فیلم جدید(ارسال تصویر بصورت Base64)

با استفاده از این متد می‌توانید یک فیلم جدید در وب‌سرویس ثبت کنید.

  نام پارامتر نوع پارامتر توضیحات
اجباری title body-رشته نام فیلم
اجباری imdb_id body-رشته شناسه‌ی فیلم در سایت IMDB
اجباری country body-رشته کشور سازنده‌ی فیلم
اجباری year body-عدد سال ساخت فیلم
دلخواه director body-رشته نام کارگردان فیلم
دلخواه imdb_rating body-رشته درجه‌ی فیلم در سایت IMDB
دلخواه imdb_votes body-رشته تعداد رای‌ فیلم در سایت IMDB
دلخواه poster body-رشته تصویر پوستر فیلم که به رشته‌ی Base64 تبدیل شده است

نمونه جواب این متد به شکل زیر می‌باشد:

{
  "id": 270,
  "title": "Arrival",
  "poster": "http://moviesapi.ir/images/user-184725432658c47c82f1dde4.966303841489271938-poster.png",
  "year": 2016,
  "director": "",
  "country": "USA",
  "imdb_rating": "8.1",
  "imdb_votes": "204,081",
  "imdb_id": "tt2543164"
}
                

ثبت فیلم جدید(ارسال تصویر بصورت درخواست Multipart)

با استفاده از این متد می‌توانید یک فیلم جدید در وب‌سرویس ثبت کنید.

  نام پارامتر نوع پارامتر توضیحات
اجباری title رشته نام فیلم
اجباری imdb_id رشته شناسه‌ی فیلم در سایت IMDB
اجباری country رشته کشور سازنده‌ی فیلم
اجباری year عدد سال ساخت فیلم
دلخواه director رشته نام کارگردان فیلم
دلخواه imdb_rating رشته درجه‌ی فیلم در سایت IMDB
دلخواه imdb_votes رشته تعداد رای‌ فیلم در سایت IMDB
دلخواه poster فایل تصویر پوستر فیلم

نمونه جواب این متد به شکل زیر می‌باشد:

{
  "id": 270,
  "title": "Arrival",
  "poster": "http://moviesapi.ir/images/user-184725432658c47c82f1dde4.966303841489271938-poster.png",
  "year": 2016,
  "director": "",
  "country": "USA",
  "imdb_rating": "8.1",
  "imdb_votes": "204,081",
  "imdb_id": "tt2543164"
}
                

دریافت اطلاعات یک فیلم

با استفاده از این متد و شناسه‌ی فیلم، می توانید تمامی اطلاعات موجود در رابطه با یک فیلم را دریافت کنید.

  نام پارامتر نوع پارامتر توضیحات
اجباری movie_id path-عدد شناسه‌ی فیلم

نمونه جواب این متد به شکل زیر می‌باشد:

{
  "id": 1,
  "title": "The Shawshank Redemption",
  "poster": "tt0111161_poster.jpg",
  "year": "1994",
  "rated": "R",
  "released": "14 Oct 1994",
  "runtime": "142 min",
  "director": "Frank Darabont",
  "writer": "Stephen King (short story \"Rita Hayworth and Shawshank Redemption\"), Frank Darabont (screenplay)",
  "actors": "Tim Robbins, Morgan Freeman, Bob Gunton, William Sadler",
  "plot": "Two imprisoned men bond over a number of years, finding solace and eventual redemption through acts of common decency.",
  "country": "USA",
  "awards": "Nominated for 7 Oscars. Another 19 wins & 30 nominations.",
  "metascore": "80",
  "imdb_rating": "9.3",
  "imdb_votes": "1,738,596",
  "imdb_id": "tt0111161",
  "type": "movie",
  "genres": [
    "Crime",
    "Drama"
  ],
  "images": [
    "http://moviesapi.ir/images/tt0111161_screenshot1.jpg",
    "http://moviesapi.ir/images/tt0111161_screenshot2.jpg",
    "http://moviesapi.ir/images/tt0111161_screenshot3.jpg"
  ]
}
                

دریافت لیست ژانرها

با استفاده از این متد می‌توانید لیست همه ژانرهای موجود در وب‌سرویس را دریافت کنید.

نمونه جواب این متد به شکل زیر می‌باشد:

[
  {
    "id": 1,
    "name": "Crime"
  },
  {
    "id": 2,
    "name": "Drama"
  }
]
                    

دریافت لیست فیلم‌های یک ژانر خاص

با استفاده از شناسه‌ی یک ژانر می‌توانید لیست فیلم‌هایی که در آن ژانر قرار دارند را دریافت کنید.

  نام پارامتر نوع پارامتر توضیحات
اجباری genre_id path-عدد شناسه‌ی ژانر
دلخواه page query-عدد شماره صفحه‌ی اطلاعات

نمونه جواب این متد به شکل زیر می‌باشد:

{
  "data": [
    {
      "id": 1,
      "title": "The Shawshank Redemption",
      "poster": "http://moviesapi.ir/images/tt0111161_poster.jpg",
      "genres": [
        "Crime",
        "Drama"
      ],
      "images": [
        "http://moviesapi.ir/images/tt0111161_screenshot1.jpg",
        "http://moviesapi.ir/images/tt0111161_screenshot2.jpg",
        "http://moviesapi.ir/images/tt0111161_screenshot3.jpg"
      ]
    },
    {
      "id": 2,
      "title": "The Godfather",
      "poster": "http://moviesapi.ir/images/tt0068646_poster.jpg",
      "genres": [
        "Crime",
        "Drama"
      ],
      "images": [
        "http://moviesapi.ir/images/tt0068646_screenshot1.jpg",
        "http://moviesapi.ir/images/tt0068646_screenshot2.jpg",
        "http://moviesapi.ir/images/tt0068646_screenshot3.jpg"
      ]
    }
  ],
  "metadata": {
    "current_page": 1,
    "per_page": 2,
    "page_count": 25,
    "total_count": 250
  }
}
                

هدف پروژه


«فیلم‌ها‌» برای حل مشکل دو گروه از توسعه‌دهندگان به وجود آماده است. گروه اول کسانی هستند که به تازگی یادگیری یک زبان جدید مثل android یا ios را شروع کرده‌اند و برای تمرین نیاز به یک وب سرویس کامل و بدون پیچیدگی‌های رایج (مثل اجباری بودن api_key و … ) دارند. گروه دوم توسعه‌دهندگان حرفه‌ای می‌باشند که برای مقاله‌های آموزشی و یا آزمودن روش‌های مختلف نیاز به یک وب سرویس کامل دارند، البته این گروه توانایی رفع نیازشان را دارند اما با استفاده از «فیلم‌ها» می‌توانند در وقت خود صرفه‌جویی کنند.

در آینده‌‌ی نزدیک متدهای بیشتری به این وب سرویس اضافه می‌شود و حتی توسعه‌دهندگان می‌توانند روش‌های authentication مثل jwt را امتحان کنند. این پروژه متن‌باز هست و از همکاری توسعه‌دهنگان استقبال می‌شود.

تماس با ما