おかげで、私はUrlQuerySanitizerを使用して行っていたとして、この場合
String encodedParameter = URLEncoder.encode("+", "UTF-8");
、+
はエンコードされます。 ここにコードを書いてください。あなたが後でそれをデコードすることができるように 、私は、その後
public class CustomUrlQuerySanitizer extends UrlQuerySanitizer {
@Override
protected void parseEntry(String parameter, String value) {
// String unescapedParameter = unescape(parameter);
ValueSanitizer valueSanitizer =
getEffectiveValueSanitizer(parameter);
if (valueSanitizer == null) {
return;
}
// String unescapedValue = unescape(value);
String sanitizedValue = valueSanitizer.sanitize(value);
addSanitizedEntry(parameter, sanitizedValue);
}
}
としてUrlQuerySanitizerクラスを拡張URIを形成しながら、代わりに+を使用しての、
String id = null;
if (uri != null) {
UrlQuerySanitizer urlQuerySanitizer = new CustomUrlQuerySanitizer();
urlQuerySanitizer.registerParameter("id",
new UrlQuerySanitizer.IllegalCharacterValueSanitizer(
UrlQuerySanitizer.IllegalCharacterValueSanitizer.ALL_OK
));
urlQuerySanitizer.parseUrl(uri.toString());
id = urlQuerySanitizer.getValue("id");
、としてURLを解析され、それを最初にエンコードし、スペースの代わりに+と解釈します。 '%2B'を使ってエンコードすることができます。 – Arpit