【发布时间】:2020-07-19 07:25:32
【问题描述】:
我有一个这样的模型。
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);
}
现在,如果我在包含一个以ProfilePicture 为键的文件后向邮递员发出Post 请求(在邮递员>>正文>>表单数据部分下),模型绑定将按预期工作. api 控制器接收PofilePicture 和其余属性null。但是,如果我为类似这样的其他属性包含 json 字符串(在 Postman >> Body >> raw 部分)
{
"c":{
"FirstName": "XYZ",
"LastName":"ABX"
}
}
或
{
"FirstName": "XYZ",
"LastName":"ABX"
}
模型绑定不再起作用。如果我想提供所有属性,如何使用 postman 访问 api 控制器?
【问题讨论】:
标签: c# asp.net-core .net-core postman model-binding