的WebAPI获得在控制器

问题描述:

我在那里我发出GET到的WebAPI控制器的问题,基本上是被UrlDecoded请求参数:我使用encodeURIComponent到URL编码的skuNum参数的WebAPI获得在控制器

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

,观看在开发工具的请求,我得到一个skuNum需要进行编码预期的结果:

enter image description here

skuNum如预期的那样,从1000EF+变为1000EF%2B

然而,当我认为在的WebAPI控制器的id参数,它是通过未来的未编码:

enter image description here

就好像客户端的URL编码而复不知何故,谁能解释一下什么是去这里?很明显,我可以通过在控制器中进行编码来解决这个问题,但我想知道为什么会发生这种情况。

+0

这是设计。 API框架将默认解码URL编码参数。编码只能用于传输数据。一旦服务器开发人员不必处理必须对其进行解码(横切关注)。按预期使用该值。 – Nkosi

+0

@Nkosi谢谢,我猜是有道理的。随意添加这个答案,它可能会帮助其他人。 – DGibbs

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