在C#中,我们可以使用以下代码来比较FromBody属性和请求模型属性:
public IActionResult MyAction([FromBody] MyModel myModel)
{
var propertyDiff = typeof(MyModel)
.GetProperties()
.Select(prop => new
{
Name = prop.Name,
RequestValue = Request.Form[prop.Name],
ModelValue = prop.GetValue(myModel),
IsEqual = prop.GetValue(myModel).Equals(Request.Form[prop.Name])
})
.ToList();
// do something with propertyDiff
return Ok();
}
此代码使用反射查找类型的所有属性,并与请求模型中的值进行比较。我们使用Select方法创建一个包含名称、请求值、模型值和属性是否相等的对象列表。然后,您可以使用此列表执行您需要的操作。
注意:如果请求正文中的JSON具有与模型属性名称不匹配的属性,则上述代码不会比较它们。
希望这可以帮助您比较FromBody属性与请求模型属性!
上一篇:比较FreeRTOS中的任务
下一篇:比较浮点数和小整数的问题