我想让客户端在与rpc API通信时动态选择实体的某些列进行查询。例如,通过指定一个字符串数组,其中的字段可以通过导航属性的点表示法进行选择。
{
"jsonrpc": "2.0",
"method": "getEntity",
"params": {
"id": 2,
"fields": ["name", "SubEntityList.name"]
},
"id": "123-456"
}
由于不是(可能?)易于使用Entity Framework动态选择并且数据库和应用程序在同一台服务器上运行,因此在从数据库获取数据时我并不关心选择。然而,响应主体应该只携带给定的字段。
现在我知道您可以在WebApiConfig文件中注册新的MessageHandler,以便稍后更改响应。但是在这一点上,我无法访问将要发送的实际json,但只能访问我显然无法删除字段的对象。
问题:
有没有办法在我可以访问已经被序列化的响应主体(json)之前挂钩响应构建过程,就在它被发送之前?