У меня http-вызов, где параметр запроса должен содержать JSON с такими символами, как {
}
[
]
, а не .
Пример URL:
http://server.com?queryParam={%22address1%22%3A%2277+tehama%22%2C%}
, в этом случае {
}
следует передавать без кодировки.
Я знаю, что согласно Ссылка на кодировку URL эти символы должны быть закодированы, но это сторонний API, и он не может быть изменен каким-либо образом.
До сих пор я пытался сделать такой вызов с помощью:
- Spring
RestTemplate
- Spring
org.springframework.web.reactive.function.client.WebClient
- Java9
java.net.http.HttpClient
Все эти клиенты проходят проверку URI и не позволяют совершать такой вызов.Клиенты Spring рассматривают {*}
как имя параметра и терпят неудачу с исключением, а java HttpClient
терпит неудачу с java.lang.IllegalArgumentException: Illegal character in query
.
Есть ли способ отключить проверку для упомянутых клиентов или какого-либо другого http-клиента (возможно, низкого уровня)которые позволят такие звонки?