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

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

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

1.png

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

image.png

why?

解析

这就要求精通 URL 的处理:

image.png

UriComponentsBuilder#toUriString:

image.png

URL Encode

image.png

调用栈如下:

image.png

image.png

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

image.png

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

image.png

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

2 次编码后:

image.png

修正

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

image.png

目录
相关文章
|
3月前
|
JSON 前端开发 Java
Spring MVC——获取参数和响应
本文介绍了如何在Spring框架中通过不同的注解和方法获取URL参数、上传文件、处理cookie和session、以及响应不同类型的数据。具体内容包括使用`@PathVariable`获取URL中的参数,使用`MultipartFile`上传文件,通过`HttpServletRequest`和`@CookieValue`获取cookie,通过`HttpSession`和`@SessionAttribute`获取session,以及如何返回静态页面、HTML代码片段、JSON数据,并设置HTTP状态码和响应头。
77 1
Spring MVC——获取参数和响应
|
3月前
|
JSON 前端开发 Java
Spring Boot框架中的响应与分层解耦架构
在Spring Boot框架中,响应与分层解耦架构是两个核心概念,它们共同促进了应用程序的高效性、可维护性和可扩展性。
76 3
|
3月前
|
XML Java 应用服务中间件
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
267 2
|
7月前
|
JSON 前端开发 Java
【JavaEE进阶】 关于Spring MVC 响应
【JavaEE进阶】 关于Spring MVC 响应
69 3
|
7月前
|
JSON 前端开发 Java
Spring第二课响应的完全,如何理解前后端互联
Spring第二课响应的完全,如何理解前后端互联
|
7月前
|
JSON 前端开发 Java
Spring Web MVC入门(3)——响应
Spring Web MVC入门(3)——响应
64 1
|
7月前
|
前端开发
Spring-MVC的数据响应-19
Spring-MVC的数据响应-19
|
7月前
|
Java Spring
Spring解决数据乱码问题-spring21
Spring解决数据乱码问题-spring21
|
7月前
|
JSON 前端开发 Java
spring mvc 请求与响应
spring mvc 请求与响应
35 0
|
JSON 前端开发 Java
构建健壮的Spring MVC应用:JSON响应与异常处理
构建健壮的Spring MVC应用:JSON响应与异常处理
70 0