修改Web API管道中的HttpContent响应

时间:2014-10-23 03:13:45

标签: asp.net-web-api2

我想将我的web api控制器响应包装在泛型类中,并且可以解决如何从HttpResponseMessage.Content中获取实际类型的问题。

e.g。我的控制器

    [ResponseType(typeof(ApiAuthentication))]
    public IHttpActionResult PostLogOnTest()
    {
        ApiAuthentication loginResponse = new ApiAuthentication();

        return Ok(loginResponse);
    }

我需要能够将所有控制器响应包装在一个'数据中。容器。我可以将这个响应类编写到每个方法中,但我认为在共同的地方做这件事会很好吗?所以我有一个班级

[DataContract]
public class ApiResponse<T>
{
    /// <summary>
    /// Gets or sets the data.
    /// </summary>
    /// <value>
    /// The data.
    /// </value>
    [DataMember(Name="data")]
    public T Data { get; set; }
}

我可以挂钩到MessageHandler并获取HttpResponseMessage,但是当我尝试从.Content获取内容时 - 它来自ObjectContent&lt;&gt; - 我只想要ApiAuthentication,这样我就可以创建新的HttpResponseMessage&gt;

有没有办法做到这一点或更简单的方法?

由于

0 个答案:

没有答案