繁体   English   中英

WebAPI 获取在控制器上被 UrlDecoded 的请求参数

[英]WebAPI get request parameters being UrlDecoded at the controller

我有一个问题,我向 WebAPI 控制器发出GET请求,本质上是:

$.getJSON('/api/feefo/getproductfeedback?id='+ encodeURIComponent(skuNum))

我正在使用encodeURIComponentskuNum参数进行 url 编码,在开发工具中查看请求我得到了需要编码的skuNum的预期结果:

在此处输入图片说明

skuNum已经从去1000EF+1000EF%2B预期。

但是,当我在 WebAPI 控制器中查看id参数时,它是通过未编码的:

在此处输入图片说明

就好像客户端 url 编码以某种方式被撤消了,有人能解释一下这里发生了什么吗? 显然,我可以通过在控制器中进行编码来解决这个问题,但我想了解为什么会发生这种情况。

那是设计使然。 默认情况下,API 框架将解码 URL 编码的参数。 编码应该只用于传输数据。 一旦在服务器上,开发人员就不必处理必须对其进行解码(横切关注)。 按预期使用该值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM