Besoin d'aide sur RestTemplate postForObject() la méthode

- Je envoyer des données JSON à partir d'une méthode de service à l'autre en utilisant postForObject() méthode.
J'ai vu un exemple sur RestTemplate sur ce lien.

postForObject() méthode a le format suivant:

User returns = rt.postForObject(uri, u, User.class, vars);

Ou

User returns = rt.postForObject(uri, u, User.class);

Je veux savoir que, après l'utilisation de postForObject() méthode, si nous mettons en œuvre la méthode de service à accepter la User objet, comment il va ressembler?

Dans mon projet, j'ai un code comme

RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
String uri = "http://testcode.com/myapp/api/launchservices";
ServiceRequest request = new ServiceRequest();
request.setId(UUID.randomUUID().toString());
....

Je suis d'erreur à cette ligne:

ServiceRequest req = restTemplate.postForObject(uri, request, ServiceRequest.class);

lors de l'exécution de la présente, j'obtiens cette erreur mesage:

org.springframework.web.client.HttpClientErrorException: 400 Bad Request
    at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:88)
    at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:537)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:493)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:452)
    at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:302)

ma méthode de mise en œuvre est:

@RequestMapping(value = "/launchservices", method = RequestMethod.POST)
@ResponseBody
public boolean launchServices(@PathVariable ServiceRequest request) {
    System.out.println("Request: "+request.toString());
    return true;
}

Comment se débarrasser de cette? Ce sera l'URI?

OriginalL'auteur omjaijagdish | 2013-11-21