我有以下复杂模型:
public class User
{
public int Id { get; set; }
public string UserName { get; set; }
public int UserId { get; set; }
}
我需要使用[FromBody]
将整个模型绑定到我的操作方法中,而Id
属性应该具有[FromQuery]
。我的动作方法如下:
public IActionResult Delete([FromBody]User userRequest)
{
// Some code
}
问题是我无法更改模型,因为它是第三方,而且我不能将Id
作为操作方法中的第二个参数,因为我有{的验证逻辑{1}}在需要userRequest
的地方。有什么想法吗?
答案 0 :(得分:-1)
使用DTO /视图模型并映射到User
。例如:
public class UserDTO
{
public string UserName { get; set; }
public int UserId { get; set; }
}
然后:
public IActionResult Delete(int id, [FromBody]UserDTO userRequest)
{
var user = new User
{
Id = id,
UserName = userRequest.UserName,
UserId = userRequest.UserId
}
// do something
}