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

السؤال

نشر

اواجه مشكله 

اتعامل مع 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...