How to disable URL encoding in HttpInterface
/HttpExchange
client?
@HttpExchange
public interface HttpClient {
@GetExchange("/{uriPath}")
Mono<Todos> getTodos(@NotNull @PathVariable String uriPath);
}
If I call HttpClient.getTodos("/todos/1")
--> internally final url
is getting encoded as "%2Ftodos%2F1"
.
Expected is "/todos/1"
.
Now how can I override this behavior not to encode the uriPath
of PathVariable
?
Comment From: sbrannen
I've edited your comment to improve the formatting. You might want to check out this Mastering Markdown guide for future reference.
Comment From: rstoyanchev
It's not clear from the description if you want all encoding turned off, or just /
path separators. To turn off encoding altogether, you can configure the DefaultUriBuilderFactory
on the underlying WebClient
, RestClient
, or RestTemplate
with the EncodingMode
that you want. If it is just about the path separators, you'll need to prepare the URI
externally using the UriComponentsBulider#path
methods (instead of pathSegment
), and pass it in.
Comment From: spring-projects-issues
If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.
Comment From: spring-projects-issues
Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.