Spring怎么又 bug 了,响应结果居然乱码了?

Spring怎么又 bug 了,响应结果居然乱码了?,第1张

Spring怎么又 bug 了,响应结果居然乱码了?


换个方式访问该接口,示例如下:

期待"JavaEdge:dev 666",但是运行上述代码后,你会发现结果却是下面这样:

why?

解析

这就要求精通 URL 的处理:

UriComponentsBuilder#toUriString:

URL Encode


调用栈如下:


至此,都还是正常的,但是当我们把 URL 转化成 String,再通过如下语句发送请求时:

会发现,它会再进行一次编码

至此,你应该理解为啥出问题了:依案例代码会执行 2 次编码(Encode),所以最终获取意外惊喜!
2 次编码后:

修正

避免多次转化而发生多次编码:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5605493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存