Wie wird der als JSON dargestellte Abfrageparameter mit Spring RestTemplate verwendet?
Ich muss eine Anfrage an einen HTTP-Endpunkt mit einem Abfrageparameter stellen, der mit Spring RestTemplate als JSON dargestellt wird.
restTemplate.getForObject(
apiRoot + "/path" + "?object={myObject}",
Response.class,
new MyObject())
Hier brauche ichMyObject
in JSON konvertiert werden (und natürlich URL-codiert). AberRestTemplate
konvertiert es einfach inString
mittoString
call stattdessen.MyObject
kann von Jackson in JSON konvertiert werden.UriComponentsBuilder
verhält sich genauso:
UriComponentsBuilder.fromHttpUrl(apiRoot)
.path("/path")
.queryParam("object", new MyObject()))
.queryParam("access_token", accessToken)
.toUri()
Gibt es eine Möglichkeit, das Anrufen von @ zu vermeideObjectMapper.writeValueAsString
mit den Händen?
Update: um zu verdeutlichen, brauche ich im Ergebnis?object={"key":42}
in meiner URI (oder in URL-verschlüsselter Form?object=%7B%22key%22%3A42%7D
) gegebenMyObject
hat eine Eigenschaftkey
mit Wert gleich42
.