#c# #.net-core #asp.net-core-webapi
Вопрос:
Ошибка 405 при попытке проверить мой api с помощью swagger. Мой api принимает данные в следующем формате.
[HttpPost("AddEmployee")]
public IActionResult AddEmployee(EmployeeDto employee, IFormFile file )
{
}
Получение ответа
{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.13",
"title": "Unsupported Media Type",
"status": 415,
"traceId": "00-19508b3749296a4bb84e43b5d21dc6c7-cabb1ff5b2609a43-00"
}
Ответ №1:
Насколько я знаю, в asp.net основной веб-api , если вы не установите [FromForm]
, он просто примет запрос формата json.
Поэтому я предлагаю вам установить значение [FromForm]
для каждого параметра, как показано ниже:
[HttpPost("AddEmployee")]
public IActionResult AddEmployee([FromForm]EmployeeDto employee, [FromForm]IFormFile file )
{
}
Но для чванства он не смог установить правильный параметр, если параметры веб-api содержат модель и файл ifromfile.
Я предлагаю вам создать новую модель представления для этого метода api, которая содержит файл ifromfile, как показано ниже:
public class EmployeeDto
{
public int Id { get; set; }
public string Wtest { get; set; }
public IFormFile file { get; set; }
}
API:
[HttpPost("AddEmployee")]
public IActionResult AddEmployee([FromForm]EmployeeDto employee)
{
return Ok();
}