Как использовать параметр запроса, представленный в виде JSON, с Spring RestTemplate?
Мне нужно сделать запрос к конечной точке HTTP с параметром запроса, представленным как JSON, используя Spring RestTemplate.
restTemplate.getForObject(
apiRoot + "/path" + "?object={myObject}",
Response.class,
new MyObject())
Здесь мне нужноMyObject
быть преобразованным в JSON (и, очевидно, в кодировке URL). НоRestTemplate
просто преобразует его вString
сtoString
позвони вместо.MyObject
конвертируется в JSON Джексоном.UriComponentsBuilder
ведет себя так же:
UriComponentsBuilder.fromHttpUrl(apiRoot)
.path("/path")
.queryParam("object", new MyObject()))
.queryParam("access_token", accessToken)
.toUri()
Есть ли способ избежать звонкаObjectMapper.writeValueAsString
руками?
Обновление: уточнить, в результате мне нужно иметь?object={"key":42}
в моем URI (или в URL-кодированной форме?object=%7B%22key%22%3A42%7D
) даноMyObject
имеет одно свойствоkey
со значением, равным42
.