的WebAPI获得在控制器
问题描述:
我在那里我发出GET
到的WebAPI控制器的问题,基本上是被UrlDecoded请求参数:我使用encodeURIComponent
到URL编码的skuNum
参数的WebAPI获得在控制器
$.getJSON('/api/feefo/getproductfeedback?id='+ encodeURIComponent(skuNum))
,观看在开发工具的请求,我得到一个skuNum
需要进行编码预期的结果:
的skuNum
如预期的那样,从1000EF+
变为1000EF%2B
。
然而,当我认为在的WebAPI控制器的id
参数,它是通过未来的未编码:
就好像客户端的URL编码而复不知何故,谁能解释一下什么是去这里?很明显,我可以通过在控制器中进行编码来解决这个问题,但我想知道为什么会发生这种情况。
答
这是设计。 API框架将默认解码URL编码参数。编码只能用于传输数据。一旦服务器开发人员不必处理必须对其进行解码(横切关注)。按预期使用该值。
这是设计。 API框架将默认解码URL编码参数。编码只能用于传输数据。一旦服务器开发人员不必处理必须对其进行解码(横切关注)。按预期使用该值。 – Nkosi
@Nkosi谢谢,我猜是有道理的。随意添加这个答案,它可能会帮助其他人。 – DGibbs