ارسال درخواست POST در فلاتر
قبلا در مورد ارتباط با سرور در فلاتر صحبت کردیم و از اهمیت آن در طراحی اپلیکیشن و ساختار جیسون نیز آشنا شدیم.
برای کار با وب سرویس و ارسال اطلاعات متدهای مختلفی برای پروتکل http وجود دارد که هرکدام از آنها در شرایط مختلفی کاربرد دارد. متدهایی مثل GET, POST, DELETE, PUT که از بین آنها دو متد GET و POST بیشترین کاربرد را دارند.
روشی که در مطلب قبلی استفاده میکردیم ارسال اطلاعات از طریق متد GET بود.
در این روش اطلاعات ما داخل ادرس url قرار میگیره که امنیت پایینی داره. زیرا در این حالت تمام پارامترهای ارسالی به وب سرویس قابل مشاهده است و نمیتوانید برای ارسال اطلاعات حساس مانند رمز عبور یا توکن احراز هویت از آن استفاده کنید. همچنین اگر تعداد اطلاعاتی که قصد ارسال آنها را دارید زیاد باشند این روش باعث سردرگمی و پیچیدگی آدرس url میشود.
اما در این مطلب با همدیگه قصد داریم که ارسال اطلاعات به روش 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 استفاده کنید و رشته جیسون خودتون و داخل آن قرار بدید.
باقی موارد همانند روش قبلی میباشد و بعد از ارسال درخواست یک پاسخ از سمت سرور دریافت میشود که معمولا شامل محتویات جیسون است و میتوانید با تجزیه کردن آن عملیات مورد نظر خود را انجام دهید.
مطالب زیر را حتما مطالعه کنید
آموزش پیاده سازی دیتابیس ObjectBox در فلاتر
آموزش اتصال اپلیکیشن فلاتر به پرینتر بلوتوثی
آموزش پیاده سازی معماری MVVM در فلاتر
روش های افزایش امنیت اپلیکیشن در فلاتر
آموزش کار با پکیج Freezed در فلاتر
آموزش ویجت SafeArea در فلاتر
5 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
وقتتون بخیر و خسته نباشید
برای دریافت json و قرار دادن ان در لیست ویو دنبال چه اموزشی باشم ؟
ممنون از راهنماییتون
سلام آموزش متنی دریافت جیسون و نمایش در لیست داخل مطالب وب سایت موجود هست. بصورت ویدیویی هم داخل دوره آموزشی به صورت کامل این اموزش قرار داده شده است.
سلام در اموزشهای اموزش کار با سرویس هست؟مانند دریافت سرویس برای لیست ویو و یا سرویسهای ثبت و ذخیره؟؟
سلام اگر منظورتون آموزش وب سرویس دریافت اطلاعات و نمایش در لیست ویو هست بله در آموزش های سایت هست.
mrc mn kheili moshkel dashtam