اذهب إلى المحتوى
  • 0

مشكله في ارسال put &post request باستخدام http package في flutter

السؤال

اواجه مشكله 

اتعامل مع rest api القيمه true قيمه منطقية عندما ارسل request علي صيغة bool يظهر لي هذا الخطأ _Type Error (type 'bool' is not a subtype of type 'String' in type cast)

حاولت ارسال القيمه true علي صيغة string السيرفر اظهر خطأ اخر

 

bool.PNG

bool2.PNG

bool3.PNG

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

إن http في flutter تتوقع أن تستقبل ال body على واحد من ثلاث هيئات .

  1.  String
  2. <List<int
  3. <Map<String, String

وبما أنك ترسل كائن فيجب أن يكون القيم من نوع String كما المفاتيح أيضا لذلك يجب وضع true أو false كسلسلة نصية string .

وفى السيرفر سيستقبلها كسلسلة نصية دون أى مشاكل ويمكن مقارنة قيمتها بال boolean دون وجود أى مشاكل .

لذلك قم بتغير true إلى "true" وإذا حدث خطأ في الخادم أرسل لي صورة للخطأ . 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 8 دقائق مضت قال محمد_عاطف:

إن http في flutter تتوقع أن تستقبل ال body على واحد من ثلاث هيئات .

  1.  String
  2. <List<int
  3. <Map<String, String

وبما أنك ترسل كائن فيجب أن يكون القيم من نوع String كما المفاتيح أيضا لذلك يجب وضع true أو false كسلسلة نصية string .

وفى السيرفر سيستقبلها كسلسلة نصية دون أى مشاكل ويمكن مقارنة قيمتها بال boolean دون وجود أى مشاكل .

لذلك قم بتغير true إلى "true" وإذا حدث خطأ في الخادم أرسل لي صورة للخطأ . 

بعد تحويل القيمة الي string يظهر هذا الخطا

I/flutter ( 6246): Exception: there is aproblem with statuscode 415

415.PNG

51166.PNG

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 دقائق مضت قال عبدالرحمن السيد5:

I/flutter ( 6246): Exception: there is aproblem with statuscode 415

 

هذا الخطأ يرجع من السيرفر لذلك قم بالذهاب إلى الكود الخاص بالسيرفر حيث يتم إرسال الطلب و أرسال صورة لى أو الملف لنرى أين المشكلة .

حيث أعتقد أن السيرفر ينتظر الطلب من نوع application/json ولكن حين إستخدام flutter وإرسال <Map<String, String  فإن نوع الطلب يكون application/x-www-form-urlencoded .

لذلك لنقم بالتعديل التالى :

لنقم بتحويل ال body إلى json هكذا  .

body: jsonEncode(<String, String>{
      
    }),

وبداخل الأفواس تقوم بوضع البيانات التي لديك.

ثانيا نقوم بإضافة خاصية Content-Type الى ال header لتعريف نوع الطلب حتى يستقبله الخادم بطريقة صيحيحة

headers: <String, String>{
      'Content-Type': 'application/json; charset=UTF-8',
    },

قم بتجربة التعديل السابق وأخبرنى بالنتيجة وإذا حدث خطأ فمن فضلك قم بارسال صورة الخطأ من ال cmd الخاص بالخادم

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 30 دقائق مضت قال عبدالرحمن السيد5:

بعد تنفيذ هذه الخطوات يظهر هذا الخطا

هذا الخطأ من السيرفر وليس من flutter ويخبرك بأن هناك حقل ds مطلوب و الخطأ الأخر هو أنه لا يستطيع تحويل isActive إلى boolean .

أعتقد أن الخادم هو مبرمج بلغة #c و ASP.NET لذلك يمكنك تغير السيرفر حيث يستقبل isActive ك string ويقوم بتحويلها إلى boolean أو قم بعمل casting لها .

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 9 ساعة قال محمد_عاطف:

هذا الخطأ من السيرفر وليس من flutter ويخبرك بأن هناك حقل ds مطلوب و الخطأ الأخر هو أنه لا يستطيع تحويل isActive إلى boolean .

أعتقد أن الخادم هو مبرمج بلغة #c و ASP.NET لذلك يمكنك تغير السيرفر حيث يستقبل isActive ك string ويقوم بتحويلها إلى boolean أو قم بعمل casting لها .

هل يمكن عمل casting من خلال Flutter 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 8 دقائق مضت قال عبدالرحمن السيد5:

هل يمكن عمل casting من خلال Flutter 

لا لا يمكن عمل casting فى flutter حيث أن السيرفر يتوقع بيانات معينة . 

من فضلك قم بمحاولة حذف <String, String> من ال body و حاول إرسال isActive ك boolean هكذا وأخبرنى بالنتيجة .

body: jsonEncode({
      "isActive":true
    }),

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...