غير قادر على إضافة الجسم إلى RestSharp Restrequest باستخدام التعدادات

StackOverflow https://stackoverflow.com/questions/3865182

  •  28-09-2019
  •  | 
  •  

سؤال

انا استخدم RestSharp في مشروع ASP .NET MVC 2. محاولة إنشاء RestRequest (باستخدام طريقة النشر) وإضافة قيمتين التعداد (نوع التعداد الخاص بي-OrderStatusFlags) لطلب الجسم-باستخدام RestSharp XmlSerializer:

var request = new RestRequest("orders/{vendorID}/{number}", Method.POST);
request.AddBody(previousOrderStatus);
request.AddBody(newOrderStatus);

ولكن بعد استدعاء طريقة Addbody في طلب المعلمات ، يمكن أن ترى فقط فارغة ولكن لا توجد قيمة. وبينما استدعاء طريقة عمل MVC يحدث خطأ:

يحتوي قاموس المعلمات على إدخال فارغ للمعلمة "السابقة" للنوع غير القابل للرسوم "OrsterStatusFlags" للطريقة "RestResponse PostorderStatus (int32 ، system.string ، OrderStatusFlags ، OrderStatusFlags)" في "OrdersResourceEndPoint". يجب أن تكون المعلمة الاختيارية نوعًا مرجعيًا ، أو نوعًا غير مألوف ، أو يُعلن كمعلمة اختيارية. اسم المعلمة: المعلمات

تعتمد يبدو هكذا:

public enum OrderStatusFlags : long
{
    Pending,
    Confirmed,
    ...
}

هل يحدث أي شخص موقف مشابه؟

هل كانت مفيدة؟

المحلول

زوجين من القضايا هنا. أولاً ، يمكنك الاتصال فقط AddBody() مرة واحدة أو آخر مكالمة ستتخذ الأسبقية. AddBody() هو أيضا فقط لإرسال XML كهيئة طلب. ما هو مخطط XML المطلوب الذي تحتاج إلى إرساله إلى عنوان URL هذا؟ هل يمكنك نشر بعض عينة XML التي تحاول توليدها؟

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top