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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist, was ich verwendet, um format-Daten für die Frühjahr-POST:
verwendet, zum erstellen von Formular-Parameter, um auf die URI