Post-Daten mit Spring RestTemplate

Ich bin versucht, post-Daten mit Spring RestTemplate wie folgt:

    MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
    parameters.add("name1", "value1");
    parameters.add("name2", "value2");

    HttpMessageConverter<String> stringConverter = new StringHttpMessageConverter();
    FormHttpMessageConverter formConverter = new FormHttpMessageConverter();
    List<HttpMessageConverter<?>> msgConverters = new ArrayList<HttpMessageConverter<?>>();
    msgConverters.add(formConverter);
    msgConverters.add(stringConverter);
    restTemplate.setMessageConverters(msgConverters);

    String xml = restTemplate.postForObject(myurl, parameters, String.class);

Auf dem server Teil, ich bin mit einem einfachen servlet zu handhaben Anfrage wie folgt:

String name1 = request.getParameter("name1");

Gibt der server die xml als String.

Wenn ich HashMap statt MultiValueMap ohne Konverter, der Parameter null ist, auf der server-Seite. Aber nachdem mit dem obigen code erhalte ich die Fehlermeldung

Cannot extract response: no Content-Type found

Können Sie plz geben Sie mir ein einfaches Beispiel zu erreichen, was ich will.

  • Ok, ich habe die Lösung gefunden. Mein problem war wegen Spring 3.0.1, das scheint nicht zu unterstützen HttpEntity, die ich verwendet, Spring 3.2 und verwendet HttpHeaders mit ContentType MediaType.APPLICATION_FORM_URLENCODED und wickelte den Header zu HttpEntity Objekt um mein problem zu lösen.
InformationsquelleAutor zdesam | 2013-01-16
Schreibe einen Kommentar