I need to make a request to an HTTP endpoint having a query parameter represented as JSON using Spring RestTemplate.
restTemplate.getForObject(
    apiRoot + "/path" + "?object={myObject}",
    Response.class,
    new MyObject())
Here I need MyObject to be converted to JSON (and URL-encoded obviously). But RestTemplate just converts it to String with toString call instead. MyObject is convertable to JSON by Jackson. UriComponentsBuilder behaves the same way:
UriComponentsBuilder.fromHttpUrl(apiRoot)
    .path("/path")
    .queryParam("object", new MyObject()))
    .queryParam("access_token", accessToken)
    .toUri()
Is there a way to avoid calling ObjectMapper.writeValueAsString by hands?
Update: to clarify, in the result I need to have ?object={"key":42} in my URI (or in URL-encodeded form ?object=%7B%22key%22%3A42%7D) given MyObject has one property key with value equal to 42.