当后端生成的一串url直接在浏览器上打开时,会遇到一些问题
1.对于一些特殊字符,浏览器会报错,如“{”,“}”,所以get请求传json的参数直接贴会报错
2.对于一些字符如“+”号,浏览器直接把它变成了空格
所以一串sign
“IdYkBapfG9MCzArckRvCFIwHd87Wl9/p1g98hvj5kR4xd9k0bgPa2UZOHELDfntCsG+ETkY9SIAI8gubdMnvhmw+0F5oAHsQXdmHQ2kETtFDOAvNx93GyqQYIXgms1vD8WDgLQ22xdng0ApduTFr9AMkS6qtH/Dd3AF9LeUGReE=”
在浏览器中直接变成了
"IdYkBapfG9MCzArckRvCFIwHd87Wl9/p1g98hvj5kR4xd9k0bgPa2UZOHELDfntCsG ETkY9SIAI8gubdMnvhmw 0F5oAHsQXdmHQ2kETtFDOAvNx93GyqQYIXgms1vD8WDgLQ22xdng0ApduTFr9AMkS6qtH/Dd3AF9LeUGReE="
导致后端接收到参数后验签失败,所以有特殊字符的参数要 URLEncoder.encode(JSON.toJSONString(str), "UTF-8")编码后才能直接放在url里传,编码后+变成了%2B