Categories: فلاتر

آموزش ارسال درخواست POST به وبسرویس در فلاتر

قبلا در مورد ارتباط با سرور در فلاتر صحبت کردیم و از اهمیت آن در طراحی اپلیکیشن و ساختار جیسون نیز آشنا شدیم.

برای کار با وب سرویس و ارسال اطلاعات متدهای مختلفی برای پروتکل http وجود دارد که هرکدام از آنها در شرایط مختلفی کاربرد دارد. متدهایی مثل GET, POST, DELETE, PUT که از بین آنها دو متد GET و POST بیشترین کاربرد را دارند.

روشی که در مطلب قبلی استفاده میکردیم ارسال اطلاعات از طریق متد GET بود.

در این روش اطلاعات ما داخل ادرس url قرار میگیره که امنیت پایینی داره.

زیرا در این حالت تمام پارامترهای ارسالی به وب سرویس قابل مشاهده است و نمیتوانید برای ارسال اطلاعات حساس مانند رمز عبور یا توکن احراز هویت از آن استفاده کنید. همچنین اگر تعداد اطلاعاتی که قصد ارسال آنها را دارید زیاد باشند این روش باعث سردرگمی و پیچیدگی آدرس url میشود.

اما در این مطلب با همدیگه قصد داریم که ارسال اطلاعات به روش POST را بررسی کنیم.

درخواست POST چیست؟

در شبکه‌های کامپیوتری، درخواست post یک درخواست HTTP است که برای ارسال داده‌ها به یک سرور استفاده می‌شود.

این داده‌ها می‌توانند شامل فرم‌ها، فایل‌ها یا هر نوع داده دیگری باشند. درخواست post معمولاً برای ایجاد یا به‌روزرسانی منابع روی سرور استفاده می‌شود.

درخواست post با ارسال یک درخواست HTTP به یک سرور آغاز می‌شود.

این درخواست شامل یک هدر HTTP است که نوع درخواست را تعیین می‌کند.

پس از ارسال درخواست، سرور داده‌های ارسال شده را دریافت می‌کند. سرور سپس این داده‌ها را پردازش می‌کند و یک پاسخ HTTP را به مشتری ارسال می‌کند. پاسخ HTTP می‌تواند شامل یک کد وضعیت HTTP، یک هدر HTTP و یک بدن پاسخ باشد.

درخواست post معمولاً برای ایجاد یا به‌روزرسانی منابع روی سرور استفاده می‌شود.
به عنوان مثال، یک درخواست post می‌تواند برای ایجاد یک حساب کاربری جدید، به‌روزرسانی یک پروفایل کاربری یا ارسال یک فرم استفاده شود.

مشخصات یک درخواست POST شامل موارد زیر است:

  1. URL (Uniform Resource Locator): آدرس سرور یا منبع مورد نظر که باید به آن درخواست POST ارسال شود.
  2. نوع درخواست (HTTP Method): POST به عنوان نوع درخواست مشخص می‌شود.
  3. Headers (سرآیندها): سرآیندهای HTTP شامل اطلاعاتی مانند نوع محتوا و تنظیمات امنیتی که با درخواست ارسال می‌شوند.
  4. داده (Data): اطلاعات یا محتوایی که باید به سرور ارسال شود، به عنوان جسم درخواست درخواست POST قرار می‌گیرد. این می‌تواند اطلاعات فرم، JSON، XML و غیره باشد.

ارسال درخواست POST در فلاتر

برای ارسال درخواست POST به همان روش قبلی عمل میکنیم یعنی استفاده از پکیج http اما به جای دستور http.get از دستور http.post استفاده میکنیم که مشخص کننده نوع متد ارتباطی میباشد و پارامترهای ارسالی خودمون و به شکل یک جیسون آبجکت مینویسیم یا همان مپ در واقع.

var url = 'http://url.com';
    var response = await http.post(url,body: {'name':'Hesam','postid':'1','message':'salam' });
    print('Server respones: ${response.body}');
    return response

در کد بالا سه پارامتر مختلف را به وب سرویس مورد نظر ارسال میکنیم.

برای این کار از ویژگی به نام body استفاده میکنیم که یک ساختار به شکل مپ دریافت میکند.

کلیدهای این مپ همان پارامترهایی هستند که در API قرار است که دریافت شوند و با مشخص کردن مقدار آنها اطلاعات مورد نظر به سرور ارسال میشوند.

اگر نیاز دارید که یک جیسون آبجکت واقعی به سرور ارسال کنید میتوانید از دستور json.encode استفاده کنید و رشته جیسون خودتون و داخل آن قرار بدید.

باقی موارد همانند روش قبلی میباشد و بعد از ارسال درخواست یک پاسخ از سمت سرور دریافت میشود که معمولا شامل محتویات جیسون است و میتوانید با تجزیه کردن آن عملیات مورد نظر خود را انجام دهید.

Hesam

View Comments

  • وقتتون بخیر و خسته نباشید
    برای دریافت json و قرار دادن ان در لیست ویو دنبال چه اموزشی باشم ؟
    ممنون از راهنماییتون

    • سلام آموزش متنی دریافت جیسون و نمایش در لیست داخل مطالب وب سایت موجود هست. بصورت ویدیویی هم داخل دوره آموزشی به صورت کامل این اموزش قرار داده شده است.

  • سلام در اموزشهای اموزش کار با سرویس هست؟مانند دریافت سرویس برای لیست ویو و یا سرویسهای ثبت و ذخیره؟؟

    • سلام اگر منظورتون آموزش وب سرویس دریافت اطلاعات و نمایش در لیست ویو هست بله در آموزش های سایت هست.

Recent Posts

گیتهاب اکشن چیست؟ آموزش استفاده از گیتهاب اکشن در برنامه نویسی فلاتر

گیتهاب اکشن GitHub Actions یکی از ابزارهای گیتهاب است که به شما کمک می‌کنه تا…

11 ساعت ago

آموزش افزایش سرعت اجرای وب اپلیکیشن های فلاتر

اگر یک برنامه نویس فلاتر هستید و با از نسخه وب اپلیکیشن پروژتون استفاده میکنید…

4 هفته ago

آموزش جامع انتشار اپلیکیشن اندروید و فلاتر در فروشگاه گوگل پلی Google play

به عنوان یک برنامه نویس فلاتر یا اندروید بعد از اتمام پروسه طراحی اپلیکیشن نیاز…

2 ماه ago

دانلود سورس کد رابط کاربری اپلیکیشن فلاتر پروژه پادکست

طراحی رابط کاربری اپلیکیشن پادکست خود را با استفاده از این کیت توسعه UI/UX فلاتر…

2 ماه ago

فایربیس چیست؟ معرفی سرویس ابری Firebase و کاربردهای آن

فایربیس، پلتفرمی قدرتمند از شرکت گوگل برای توسعه و مدیریت برنامه‌های موبایل و وب است.…

2 ماه ago

آموزش پیاده سازی Method Channel در فلاتر + فیلم

فلاتر یک فریم ورک برنامه نویسی چندسکویی است که این امکان را برای برنامه نویس…

3 ماه ago