Spring又出现 bug 了,响应结果居然乱码了?


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


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


why?

解析

这就要求精通 URL 的处理:

UriComponentsBuilder#toUriString:

URL Encode


调用栈如下:


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


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


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

修正

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



链接:https://juejin.cn/post/7035543318448570404
 

全部评论

相关推荐

12-24 14:26
东北大学 Java
一只乌鸦:重邮+东北,好经典的学校
最后再改一次简历
点赞 评论 收藏
分享
算法冲刺中:kpi面加一,面完完全没动静,感谢信都没有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务