У меня есть метод WebAPI, как показано ниже.Загрузка файла прекрасно работает с этим, но мне также нужен дополнительный объект с информацией о том, как обращаться с файлом.Что я пробовал до сих пор:
//Works fine but no body defined
[HttpPut("{id}")]
public IActionResult Put(string id, IFormFile file)
{
//Do stuff
return StatusCode(200);
}
и
public class UploadFile
{
//As simple example
public string Description { get; set; }
public Dictionary<string, string> Keys { get; set; }
}
//What I would like to have, but doesn't work
[HttpPut("{id}")]
public IActionResult PutTest(string id, IFormFile file, [FromBody] UploadFile info)
{
//Do stuff
return StatusCode(200);
}
, используя SwaggerUI со следующим вводом:
![enter image description here](https://i.stack.imgur.com/sGG2h.png)
Я получаю 400 Bad Request с сообщением "The input was not valid."
.SwaggerUI показывает следующий cURL для запроса (который, кажется, не содержит никакой информации о теле):
curl -X PUT "https://localhost:5001/api/Document/test/test.txt" -H "accept: application/json" -H "Content-Type: multipart/form-data" -d {"file":{}}
Как мне лучше всего подойти к этому, чтобы получить желаемый результат?