gpt4 book ai didi

java - 如何将带有 '/' 符号的值作为获取参数传递给我的 Controller ?

转载 作者:行者123 更新时间:2023-12-02 03:30:01 25 4
gpt4 key购买 nike

我有 Controller :

@RestController
public class MyController {

@GetMapping(value = "/products/{value}")
public String get(@PathVariable String value) {
System.out.println(value);
return "OK";
}
}

启动服务器后,我尝试发送如下消息:

http://localhost:8080/products/Mazda

我在控制台中看到马自达。但是当我发送带有反斜杠的值时:

http://localhost:8080/products/Mazda\6

我收到错误:

This application has no explicit mapping for /error, so you are seeing this as a fallback.

如何将带有“\”符号的值作为 get 参数传递给我的 Controller ?

我期望:马自达\6

最佳答案

首先,您需要在客户端对路径变量进行编码。以下是 Java 的示例:

URLEncoder.encode("Mazda\\6", "UTF-8");

结果将是 Mazda%5C6。第二步是allow the processing of requests URL 中包含特殊字符。

第三,解码 Controller 中的字符串:

String decodedValue = URLDecoder.decode(value, "UTF-8");

关于java - 如何将带有 '/' 符号的值作为获取参数传递给我的 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56890427/

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