我有具有格式的URLSpring是如何处理#在REST URL
{URL} /位置/ USA#CA#92121
我想春天应用
“USA# CA#92121'作为我的REST控制器中的一个参数。我该如何实现这一目标?
目前其只给“USA”当我用@PathVariable
我有具有格式的URLSpring是如何处理#在REST URL
{URL} /位置/ USA#CA#92121
我想春天应用
“USA# CA#92121'作为我的REST控制器中的一个参数。我该如何实现这一目标?
目前其只给“USA”当我用@PathVariable
您的网址将需要URL编码。您可以在Java 8中使用URLEncoder。
见Java URL encoding of query string parameters
基本上
String q = "random word £500 bank $";
String url = "http://example.com/query?q=" + URLEncoder.encode(q, "UTF-8");
你需要编码的网址,以便它可以处理所有类型的字符,包括空格和特殊字符,如#,$等。
的最好的办法是使用URLEncoder 然后找回你想要的值,你将需要使用URLDecoder
例如:
package com.test;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.net.URLDecoder;
public class EncodeURL {
public static void main(String args[]){
string url = "{URL}/locations/USA#CA#92121";
try {
string encodedString = URLEncoder.encode(url, "UTF-8");
System.out.println("Encoded String: " + encodedString);
System.out.println("Decoded String: " + URLDecoder.dencode(encodedString, "UTF-8"));
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
}
}
}
我正在开发REST端点而不是客户端... – user1228785
保存自己的一些麻烦,并使用不同的符号:)在URL – ZhongYu
“安全” 的字符:' - 。 _〜! $&()* +,; =:@ /?' – ZhongYu
我希望我可以选择那个:-) – user1228785