مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

morteza_mousavi90

عضویت از 1392/02/16

مشکل Post در web api

  • شنبه 21 مهر 1397
  • 17:49
تشکر میکنم

با عرض سلام

من در هنگام پست مقادیر در web api با مشکل زیر روبرو می شوم

{
    "Message": "The request entity's media type 'multipart/form-data' is not supported for this resource.",
    "ExceptionMessage": "No MediaTypeFormatter is available to read an object of type 'productfilter' from content with media type 'multipart/form-data'.",
    "ExceptionType": "System.Net.Http.UnsupportedMediaTypeException",
    "StackTrace": "   at System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent content, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n   at System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage request, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)"
}

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

  [HttpPost]
        public IDictionary<string, object> PostProducts([FromBody] productfilter prt)

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

salman_b

عضویت از 1396/02/18

  • شنبه 21 مهر 1397
  • 20:52

داره میگه شما داری از فرمت multipart/form-data استفاده میکنی و نمیتونه deserialize کنه.

داده رو بهتره در قالب json ارسال کنید.

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • یکشنبه 22 مهر 1397
  • 09:39

هنگام ارسال درخواست Content-Type را برابر application/json قرار بدید.

اگر میخواهید از form data پشتیبانی کنید در قسمت HttpConfiguration آن را تنظیم کنید.

 public static void Register(HttpConfiguration config)
 {
     config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("multipart/form-data"));
 }

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)