В настоящее время я пытаюсь использовать HttpPost для обработки параметра form-body для получения некоторой информации для редактирования моего бэкэнда. У меня есть функцияHttpPost с простым параметром string-body string throwing No MediaTypeFormatter доступен для чтения объекта типа Exception
[HttpPost]
[Route("api/delete")]
public IHttpActionResult delete([FromBody]Product p)
{
try {
_db.deleteProduct(p.ID);
return Ok(1);
}
catch (Exception ex)
{
return BadRequest(ex.ToString());
}
}
с продуктом является модель, которую я создал с характеристиками
public class Product
{
public string ID { get; set; }
}
Однако, когда я пытаюсь использовать этот метод, с помощью почтальона и значение формы тела, I с этой ошибкой.
{
"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 'Product' 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)"
}
Любая помощь будет принята с благодарностью.
ах да мои извинения. Я не хотел ставить котировки. Ошибка по-прежнему сохраняется без кавычек. –
Пожалуйста, добавьте код для метода deleteProduct. – jvanrhyn
его хранимая процедура, которую я написал на SQL. Если я вручную добавлю параметр в функцию, то есть _db.deleteProduct («00002024»), база данных, похоже, отлично обрабатывает хранимую процедуру. –