使用OWIN中间件扩展WebApi响应



我有一个基于OWIN的WebApi项目,我想用一些额外的数据扩展WebApi调用的结果,例如向响应添加本地化数据。

最初的想法是在管道中注入逻辑,一旦我们得到API调用的结果,我就用包装器包装json,包装器将包含翻译和一些额外的属性,如执行时间。

所以我写了我自己的中间件把它放在UseWebApi()之后,但它没有执行,因为WebApi不调用"Next",以防它处理请求

所以问题是:

如何修改/扩展WebApi中间件返回的Json ?任何其他的想法如何处理这样的问题与一个行动,必须执行所有的请求?

谢谢

关于中间件:你需要把你的中间件放在UseWebApi之前,把你的逻辑放在调用下一个中间件之后;在这种情况下,您的代码可以在Web API完成处理请求后执行。

你可能也想看看下面的博客文章,它讨论了你的相同场景:http://www.devtrends.co.uk/blog/wrapping-asp.net-web-api-responses-for-consistency-and-to-provide-additional-information

最新更新