【问题标题】:Extending WebApi response using OWIN Middleware使用 OWIN 中间件扩展 WebApi 响应
【发布时间】:2015-12-27 09:29:38
【问题描述】:

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

最初的想法是将该逻辑注入管道中,一旦我们得到 API 调用的结果,我只需将该 json 与包含翻译和一些附加属性(如执行时间)的包装器包装起来。

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

所以问题是:

如何修改/扩展 WebApi 中间件返回的 Json? 任何其他想法如何通过必须为所有请求执行的操作来处理此类问题?

谢谢

【问题讨论】:

    标签: asp.net-web-api asp.net-web-api2 owin


    【解决方案1】:

    关于中间件: 您需要将中间件放在 UseWebApi 之前,并在调用下一个中间件之后放置您的逻辑;在这种情况下,您的代码会在 Web API 处理完请求后很好地执行。

    您可能还想查看以下博客文章,它讨论了与您相同的情况: http://www.devtrends.co.uk/blog/wrapping-asp.net-web-api-responses-for-consistency-and-to-provide-additional-information

    【讨论】:

    • 我会试一试,现在我使用的方法与该博客中的方法相同。谢谢!
    猜你喜欢
    • 2016-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    相关资源
    最近更新 更多