У меня есть такая модель.
public class ClientDto
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string PhoneNumber { get; set; }
public string Address { get; set; }
public IFormFile ProfilePicture { get; set; }
}
И API-контроллер вроде этого:
[HttpPost]
public async Task<OperationResult> Post([FromForm] ClientDto c)
{
ImageHandler handler = new ImageHandler(env);
Client client = new Client()
{
Address = c.Address,
FirstName = c.FirstName,
LastName = c.LastName,
PhoneNumber = c.PhoneNumber,
PhotoPath = await handler.UploadFile(c.ProfilePicture)
};
return await clientRepository.AddClient(client);
}
Теперь, если я сделаю запрос Post
с почтальоном после включения файла с ProfilePicture
в качестве ключа (под Почтальон >> Тело >> раздел данных формы ), привязка модели работает, как ожидалось. Контроллер API получает PofilePicture
и остальные свойства null
. Но если я включу json строку для других свойств, подобных этой ( в разделе Почтальон >> Тело >> raw раздел)
{
"c":{
"FirstName": "XYZ",
"LastName":"ABX"
}
}
ИЛИ
{
"FirstName": "XYZ",
"LastName":"ABX"
}
модель привязка больше не работает. Как мне ударить контроллер API с почтальоном, если я хочу предоставить все свойства?