我有一个带有以下注释的操作,
[HttpGet("update/{hash}")]
public async Task<IActionResult> Update([FromQuery]Model model)
{
// I need to use from model.Hash
return Ok();
}
此外,我有一个简单的模型如下:
public class Model
{
public string Hash { get; set; }
}
模型绑定器不起作用,因为很明显,散列不是像queryString那样的?hash=[value],这是一个id。
我不能使用另一个参数来绑定它,比如:
public async Task<IActionResult> Update(string hash)
因为我的模型有一个验证器。
有没有任何方法可以将hash绑定到hash我的属性?
您可以使用[FromRoute(Name = "hash")]
将路由参数绑定到模型属性,如下所示。
public class Model
{
[FromRoute(Name = "hash")]
public string Hash { get; set; }
}
请参阅此Microsoft文档