我有以下控制器方法,它接受命令作为从客户端传递的更改模型。
[HttpPut]
[Route("api/features/{name}")]
public async Task<IActionResult> PutFeatureValueAsync(
string name,
[FromBody] SetFeatureCommand command,
CancellationToken token)
{
command.FeatureName = name;
await mediator.Send(command, token).ConfigureAwait(false);
return Ok();
}
问题是如果我想将 {name} 保留在 url 中,我必须手动将 FeatureName 属性复制到命令对象。另一个问题是,如果在模型绑定期间未设置 FeatureName,我将无法正确进行验证。
将路径的 {name} 段自动模型绑定到命令的 FeatureName 属性的最佳方法是什么。