使用自动映射器,可以将属性设置为要求explicit expansion。使用此选项,如果查询未明确请求扩展该属性,则Automapper不会映射该字段,并且该字段将为null。
在这种情况下,我正在寻找一种提供默认值的方法。具体来说,当将此选项应用于代表集合的属性时,如果不进行扩展,则不返回null而是返回键标识符列表。
Automapper确实提供了一些用于设置default values的功能,但它似乎仅支持静态值。在这种情况下,这是行不通的,因为只有在请求之前才知道数据收集。
此外,我使用动态作为目标类型,所以我认为int数组与复杂对象数组之间的区别应该不是问题。
我要实现的快速示例,成员需要明确扩展
GET: www.myapi.com/goups/3?$expand=members returns-
{
"id": 3,
"name":"GroupA",
"members": [
{ "id":1, "name":"Bob" },
{ "id":2, "name":"Sue" }
]
}
GET: www.myapi.com/goups/3 returns-
{
"id": 3,
"name":"GroupA",
"members": [1,2]
}