在发送之前更改HTTP响应正文

时间:2017-03-20 15:26:34

标签: json entity-framework asp.net-web-api2

我想让客户端在与rpc API通信时动态选择实体的某些列进行查询。例如,通过指定一个字符串数组,其中的字段可以通过导航属性的点表示法进行选择。

{
    "jsonrpc": "2.0",
    "method":  "getEntity",
    "params": {
        "id": 2,
        "fields": ["name", "SubEntityList.name"]
    },
    "id": "123-456"
}

由于不是(可能?)易于使用Entity Framework动态选择并且数据库和应用程序在同一台服务器上运行,因此在从数据库获取数据时我并不关心选择。然而,响应主体应该只携带给定的字段。

现在我知道您可以在WebApiConfig文件中注册新的MessageHandler,以便稍后更改响应。但是在这一点上,我无法访问将要发送的实际json,但只能访问我显然无法删除字段的对象。

问题:

有没有办法在我可以访问已经被序列化的响应主体(json)之前挂钩响应构建过程,就在它被发送之前?

0 个答案:

没有答案