我有一个 Web API 应用程序,我需要通过 ActionFilter 的 OnActionExecuted 方法获取一些 API 端点的返回值
我正在使用自定义属性来识别具有我需要修改的数据的端点,但我似乎无法从 HttpActionExecutedContext 中找到实际的结果对象。
谢谢你的帮助!
我有一个 Web API 应用程序,我需要通过 ActionFilter 的 OnActionExecuted 方法获取一些 API 端点的返回值
我正在使用自定义属性来识别具有我需要修改的数据的端点,但我似乎无法从 HttpActionExecutedContext 中找到实际的结果对象。
谢谢你的帮助!
可以通过Response.Content
属性获取返回值。如果您的操作返回了一个对象,您可以将其强制转换ObjectContent
为您可以获得返回值的实际实例的位置:
public class MyFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext context)
{
var objectContent = context.Response.Content as ObjectContent;
if (objectContent != null)
{
var type = objectContent.ObjectType; //type of the returned object
var value = objectContent.Value; //holding the returned value
}
}
}