این وبسرویس دارای متدهای گوناگون برای دریافت و ثبت اطلاعات است، در زمان استفاده از این متدها باید به پارامترهای مشخص شده در راهنما توجه کنید.
در این وبسرویس چهارنوع پارامتر وجود دارد:
۱- Header- این پارامترها به هدر درخواست اضافه میشوند.
۲- Query- پارامترهای کوئری در ادامهی آدرس و بعد از علامت '?' قرار میگیرند.
۳- Path- در بخشی از آدرس قرار میگیرند.
۴- Body- این نوع از پارامترها به عنوان یک خصوصیت در یک شیء Json داخل body درخواست قرار میگیرند.
برای استفاده از این وبسرویس نیاز به دریافت هیچگونه api_key ندارید اما توجه داشته باشید که اطلاعات ثبت شده توسط شما در این وبسرویس، بعد از 10 دقیقه از روی آن پاک میشود. البته برای اینکه توسعهدهندگان، تجربهی کار با متدهایی که نیاز به Authentication دارند رو هم بدست بیارن، یکی از متدها که برای دریافت اطلاعات کاربر هست نیاز به توکن JWT دارد که باید بعد از ثبتنام کاربر جدید از متد لاگین بگیرید.
لیست متدهای این وبسرویس به شرح زیر می باشد:
با استفاده از این متد میتوانید لیست فیلمهای موجود در این وبسرویس را دریافت کنید. (فیلمهای ثبت شده توسط کاربران وبسرویس در این لیست حضور ندارند)
نام پارامتر | نوع پارامتر | توضیحات | |
---|---|---|---|
دلخواه | 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}}
با استفاده از این متد میتوانید یک فیلم جدید در وبسرویس ثبت کنید.
نام پارامتر | نوع پارامتر | توضیحات | |
---|---|---|---|
اجباری | 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"}
با استفاده از این متد میتوانید یک فیلم جدید در وبسرویس ثبت کنید.
نام پارامتر | نوع پارامتر | توضیحات | |
---|---|---|---|
اجباری | 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}}
با استفاده از این متد میتوانید یک کاربر جدید جدید در وبسرویس ثبتنام کنید. اطلاعات کاربر (نام، ایمیل و پسورد) باید با فرمت Json در Body درخواست ارسال شوند.
نام پارامتر | نوع پارامتر | توضیحات | |
---|---|---|---|
اجباری | رشته | پست الکترونیکی کاربر | |
اجباری | password | رشته | رمز عبور |
اجباری | name | رشته | نام کاربر |
نمونه جواب این متد به شکل زیر می باشد:
{"id":23,"name":"Abbas Ov","email":"abbas@oveissi.ir","created_at":"2020-10-10 12:12:23","updated_at":"2020-10-10 12:12:23"}
با استفاده از این متد میتوانید در سیستم لاگین کرده و با دریافت توکن، از متدهایی که به توکن نیاز دارند استفاده کنید. توجه کنید اطلاعات بصورت form-data به وبسرویس ارسال شوند.
نام پارامتر | نوع پارامتر | توضیحات | |
---|---|---|---|
اجباری | grant_type | رشته | از عبارت password برای این فیلد استفاده کنید |
اجباری | username | رشته | نام کاربری |
اجباری | password | رشته | رمز عبور |
نمونه جواب این متد به شکل زیر می باشد:
{"token_type":"Bearer","expries_in":16537295,"access_token":"NJhsHG6TFC5kdTEM34cMzAxFtfs34x...","refresh_token":"eNUSyyhn3kmIJ64jnUH56DMsfNUhN4..."}
متد لاگین به شما access_token و refresh_token میده. برای درخواستهایی که نیاز به توکن دارند باید از access_token استفاده کنید. هر access_token بعد ۵ دقیقه منقضی میشود. برای دریافت توکن جدید باید از این متد و refresh_token استفاده کنید تا access_token جدید بگیرید.
نام پارامتر | نوع پارامتر | توضیحات | |
---|---|---|---|
اجباری | grant_type | رشته | از عبارت refresh_token برای این فیلد استفاده کنید |
اجباری | refresh_token | رشته | رفرش توکن |
نمونه جواب این متد به شکل زیر می باشد:
{"token_type":"Bearer","expries_in":16537295,"access_token":"NJhsHG6TFC5kdTEM34cMzAxFtfs34x...","refresh_token":"eNUSyyhn3kmIJ64jnUH56DMsfNUhN4..."}
با این متد میتوانید اطلاعات کاربر را مشاهد کنید، این متد نیاز به توکن دارد که برای بدست آوردن آن باید از متد لاگین استفاده کنید.
نام پارامتر | نوع پارامتر | توضیحات | |
---|---|---|---|
اجباری | authorization | header-رشته | وقتی توکن رو توی Header میذارید، اون Bearer اولش یادتون نداره. |
دلخواه | accept | header-رشته | همیشه مقدار را application/json بذارید تا اگر خطایی رخ داد وب سرویس با فرمت Json پاسخ دهد. |
نمونه جواب این متد به شکل زیر می باشد:
{"id":23,"name":"Abbas Ov","email":"abbas@oveissi.ir","created_at":"2020-10-10 12:12:23","updated_at":"2020-10-10 12:12:23"}
«فیلمها» برای حل مشکل دو گروه از توسعهدهندگان به وجود آماده است. گروه اول کسانی هستند که به تازگی یادگیری یک زبان جدید مثل android یا ios را شروع کردهاند و برای تمرین نیاز به یک وب سرویس کامل و بدون پیچیدگیهای رایج (مثل اجباری بودن api_key و … ) دارند. گروه دوم توسعهدهندگان حرفهای میباشند که برای مقالههای آموزشی و یا آزمودن روشهای مختلف نیاز به یک وب سرویس کامل دارند، البته این گروه توانایی رفع نیازشان را دارند اما با استفاده از «فیلمها» میتوانند در وقت خود صرفهجویی کنند.
در آیندهی نزدیک متدهای بیشتری به این وب سرویس اضافه میشود و حتی توسعهدهندگان میتوانند از GraphQL برای دریافت اطلاعات از وبسرویس استفاده کنند. این پروژه متنباز هست و از همکاری همهی توسعهدهنگان استقبال میشود.