[英]WebAPI get request parameters being UrlDecoded at the controller
我有一个问题,我向 WebAPI 控制器发出GET
请求,本质上是:
$.getJSON('/api/feefo/getproductfeedback?id='+ encodeURIComponent(skuNum))
我正在使用encodeURIComponent
对skuNum
参数进行 url 编码,在开发工具中查看请求我得到了需要编码的skuNum
的预期结果:
该skuNum
已经从去1000EF+
到1000EF%2B
预期。
但是,当我在 WebAPI 控制器中查看id
参数时,它是通过未编码的:
就好像客户端 url 编码以某种方式被撤消了,有人能解释一下这里发生了什么吗? 显然,我可以通过在控制器中进行编码来解决这个问题,但我想了解为什么会发生这种情况。
那是设计使然。 默认情况下,API 框架将解码 URL 编码的参数。 编码应该只用于传输数据。 一旦在服务器上,开发人员就不必处理必须对其进行解码(横切关注)。 按预期使用该值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.