¿Cómo usar el parámetro de consulta representado como JSON con Spring RestTemplate?

Necesito hacer una solicitud a un punto final HTTP que tenga un parámetro de consulta representado como JSON usando Spring RestTemplate.

restTemplate.getForObject(
    apiRoot + "/path" + "?object={myObject}",
    Response.class,
    new MyObject())

Aqui necesitoMyObject para ser convertido a JSON (y codificado por URL obviamente). PeroRestTemplate solo lo convierte aString contoString llame en su lugar.MyObject es convertible a JSON por Jackson.UriComponentsBuilder se comporta de la misma manera:

UriComponentsBuilder.fromHttpUrl(apiRoot)
    .path("/path")
    .queryParam("object", new MyObject()))
    .queryParam("access_token", accessToken)
    .toUri()

¿Hay alguna manera de evitar llamarObjectMapper.writeValueAsString por las manos?

Actualización: para aclarar, en el resultado necesito tener?object={"key":42} en mi URI (o en forma codificada en URL?object=%7B%22key%22%3A42%7D) dadoMyObject tiene una propiedadkey con valor igual a42.

Respuestas a la pregunta(1)

Su respuesta a la pregunta