在控制器中执行操作之前将 JSON 捕获为字符串

问题描述 投票:0回答:2

有没有办法在 JSON 到达控制器中的操作之前将其捕获为字符串?

属性可以解决问题吗?我目前正在查看 Web API 操作过滤器,因为我知道在调用操作之前/之后可能会触发事件,但我不确定如何处理接收到的数据,以便我可以解析它并确保JSON字符串中不包含脚本注入

这可以做到吗?这是正确的方法吗?还是有更好的方法来处理这个问题而不使用第三方工具,

谢谢。

c# asp.net-web-api action-filter
2个回答
0
投票

是的,您可以在点击控件之前捕获 json 字符串。您需要使用

ActionFilters
,它在控制器方法被调用之前执行。


0
投票

不是我的工作,但 Mark Ashley Bell 的这篇非常有用的文章为我解决了同样的问题。您需要向下滚动到 Mark 谈论模型绑定的地方。

https://markb.uk/asp-net-core-read-raw-request-body-as-string.html

(顺便说一句,ActionFilters 在模型绑定已经发生之后,在这个过程中发生得太晚了,所以如果反序列化中存在任何问题(这可能就是您首先想要查看原始 JSON 的原因),那么你不会走到这一步。)

© www.soinside.com 2019 - 2024. All rights reserved.