فرصت مطالعه ندارید؟ چکیده این مطلب را همینجا گوش دهید:
ساخت و توسعه برنامههای وب و موبایل بدون داشتن یک پایگاه داده یا سرور آماده، همواره یکی از چالشهای اصلی برنامهنویسان در فاز اولیه پروژهها است. چه در حال نوشتن مستندات آموزشی باشید و چه بخواهید یک نمونه اولیه (Prototype) سریع پیادهسازی کنید، به مجموعهای از دادههای معتبر برای تست نیازمندید. ابزار معرفی API رایگان Advice Slip؛ دریافت جملات پندآموز و توصیههای تصادفی را پیشتر دیدهاید، اما سرویس JSONPlaceholder یک راهکار جامعتر و استاندارد برای مدیریت متدهای کامل REST است.
آشنایی با JSONPlaceholder و مزایای آن
سرویس JSONPlaceholder یک ابزار آنلاین رایگان و قابل اعتماد است که از سال ۲۰۱۳ به توسعهدهندگان سراسر جهان خدمات ارائه میدهد. این سرویس ماهانه میلیاردها درخواست را پردازش میکند و ساختار مسیرها و پاسخهای آن کاملاً پایدار است؛ به طوری که کدهای نوشته شده برای آن از یک دهه پیش تاکنون بدون مشکل کار میکنند.
یکی از بزرگترین مزیتهای این سرویس، عدم نیاز به ساخت حساب کاربری یا دریافت کلید اختصاصی (API Key) است. شما میتوانید بلافاصله و بدون هیچ مانعی از آن استفاده کنید. همچنین برای توسعهدهندگانی که علاوه بر وب، ابزارهای سیستمی میسازند، بررسی ساختار دادهها شباهت زیادی به ایدههای مطرحشده در مقاله ساخت ابزار خط فرمان مانیتورینگ منابع سیستم با پایتون و ثبت هشدار دارد که در آن پردازش پاسخها اهمیت بالایی دارد.
| ویژگی | مقدار / وضعیت |
|---|---|
| نوع سرویس | رایگان و متنباز (Fake REST API) |
| نیاز به ثبتنام | ندارد (No Signup) |
| کلید API | ندارد |
| متدهای پشتیبانی شده | GET, POST, PUT, PATCH, DELETE |
| وضعیت دسترسی ایران | بدون محدودیت (accessible) |
منابع و ساختار دادهها
این سرویس شامل ۶ منبع اصلی و پرکاربرد است که روابط منطقی مشابه پایگاههای داده واقعی را پوشش میدهند. برای مثال، پستها دارای کامنت هستند و آلبومها تصاویر متعددی دارند. ساختار کلی این منابع به شرح زیر است:
- /posts: شامل ۱۰۰ پست نمونه
- /comments: شامل ۵۰۰ نظر و کامنت
- /albums: شامل ۱۰۰ آلبوم
- /photos: شامل ۵۰۰۰ تصویر
- /todos: شامل ۲۰۰ وظیفه (Todo)
- /users: شامل ۱۰ کاربر
نحوه استفاده و پیادهسازی متدهای REST
شما میتوانید از طریق متد Fetch در جاوااسکریپت یا هر کلاینت HTTP دیگری به این سرویس درخواست بفرستید. در ادامه نمونه کدهای کامل برای دریافت، ارسال و ویرایش دادهها آورده شده است.
۱. دریافت یک پست مشخص (GET)
کد زیر یک درخواست GET ساده برای دریافت پستی با شناسه ۱ ارسال میکند:
// دریافت اطلاعات پست شماره یک با استفاده از Fetch API
fetch('https://jsonplaceholder.typicode.com/posts/1')
.then(response => response.json())
.then(json => console.log(json));
توضیح بخشهای کد: تابع fetch به آدرس مورد نظر درخواست میفرستد، متد .then(response => response.json()) پاسخ دریافتی را به فرمت JSON تبدیل میکند و در نهایت دادهها در کنسول چاپ میشوند. خروجی نمونه به شکل زیر خواهد بود:
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}
۲. ایجاد یک داده جدید (POST)
برای تست ارسال دادهها به سرور، میتوانید از متد POST استفاده کنید. توجه داشته باشید که این تغییرات به صورت واقعی روی سرور ذخیره نمیشوند، اما پاسخ سرور به گونهای شبیهسازی میشود که انگار عملیات موفق بوده است:
// ارسال یک پست جدید به سرور
fetch('https://jsonplaceholder.typicode.com/posts', {
method: 'POST',
body: JSON.stringify({
title: 'مقاله تستی برای FreeKey',
body: 'محتوای تستی جهت بررسی نحوه ارسال داده به API',
userId: 1,
}),
headers: {
'Content-type': 'application/json; charset=UTF-8',
},
})
.then(response => response.json())
.then(json => console.log(json));
توضیح بخشهای کد: در این درخواست، شیء تنظیمات شامل کلید method با مقدار POST، هدرهای استاندارد و بدنه دادهها (تبدیل شده با JSON.stringify) ارسال میشود. نمونه خروجی برگشتی از سرور فیک به شکل زیر است:
{
"title": "مقاله تستی برای FreeKey",
"body": "محتوای تستی جهت بررسی نحوه ارسال داده به API",
"userId": 1,
"id": 101
}
پرسشهای متداول
آیا استفاده از JSONPlaceholder کاملاً رایگان است؟
بله، این سرویس کاملاً رایگان است و نیازی به پرداخت هزینه یا ثبتنام ندارد.
آیا تغییرات اعمال شده (مثل POST یا DELETE) روی سرور ذخیره میشوند؟ خیر.
خیر، تمامی عملیاتهای نوشتن، ویرایش و حذف به صورت شبیهسازیشده (Fake) پاسخ داده میشوند و هیچ تغییری در پایگاه داده اصلی ایجاد نخواهد شد.
آیا میتوان از این سرویس در محیطهای تولیدی (Production) استفاده کرد؟
خیر، این ابزار صرفاً برای تست، نمونهسازی سریع، آموزش و توسعه برنامهها طراحی شده است و نباید به عنوان دیتابیس اصلی در پروژههای واقعی به کار رود.
جمعبندی
سرویس JSONPlaceholder یکی از ابزارهای حیاتی و کاربردی برای توسعهدهندگان وب و موبایل است که به کمک آن میتوانید بدون درگیر شدن با راهاندازی سرور و دیتابیس، برنامههای خود را با دادههای واقعی تست کنید. عدم نیاز به ثبتنام و پشتیبانی از تمام متدهای استاندارد REST، این ابزار را به گزینهای بینقص برای سرعت بخشیدن به روند کدنویسی تبدیل کرده است.




