gpt4 book ai didi

java - 带有特殊字符 '+' 的 RequestParam

转载 作者:行者123 更新时间:2023-12-01 22:20:35 27 4
gpt4 key购买 nike

在我的 Controller 中,我有带有 4 个请求参数的 requestMapping“searchUser”。对于请求参数“phoneNumber”,我也接受特殊字符,如“(”、“)”、“-”和“+”。

除字符“+”外,所有字符都显示在我的日志中。例如,如果我发送像“+123”或“123+1”这样的值,我会得到我的 Controller “123”和“123 1”它将“+”替换为空格。

它只发生在 '+' 上

@RequestMapping(method = RequestMethod.GET, value = "/search", produces = "application/json")
public List<User> getWebUserProfiles(HttpServletRequest request, HttpServletResponse response,
@RequestParam("firstName") String firstName, @RequestParam("lastName") String lastName,
@RequestParam("email") String email
@RequestParam("phoneNumber") String phoneNumber);

你知道我要补充什么吗?

提前致谢!

更新:

我在我的前端使用 Angular 2,我有一个表单,我将值进一步发送到我的 spring-boot 后端。我的 http 服务有角度:

   search(searchParams: any){
let params = new URLSearchParams();
params.set('firstName', searchParams.firstName);
params.set('lastName', searchParams.lastName);
params.set('email', searchParams.email);
params.set('phoneNumber', searchParams.phoneNumber);

return this._http.get(this.baseURL+'search',
{ search:params })
.map(response => response.json())
.catch(this.handleError);
}

最佳答案

好的,我解决了。

我把它编码在我的前面。没有其他选择。

params.set('phoneNumber', encodeURIComponent(searchParams.phoneNumber));

感谢您的帮助!

关于java - 带有特殊字符 '+' 的 RequestParam,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40382529/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com