RestTemplate POST-Anforderung RequestParams und RequestBody
Ich habe einen server und einen client. Ich bin mit Spring zum anzeigen der http-requests an den server und RestTemplate, um Anfragen an den server.
Server-code sieht wie folgt aus:
@RequestMapping (value="/someEndPoint", method = RequestMethod.POST)
@ResponseBody
public String configureSettings(
@RequestParam(required=false) Integer param1,
@RequestParam(required=false) Long param2,
@RequestBody String body)
{
if(param1 != null)
//do something
if(body not empty or null)
//do something
}
Client-Seite:
String postUrl = "http://myhost:8080/someEndPoint?param1=val1"
restTemplate.postForLocation(postUrl, null);
Funktioniert das, dass die richtige Aktion ausgelöst wird, die auf der server-Seite aus param1
jedoch ist der body der Anfrage enthält auch:
param1=val1
Der request-body, wenn es gesetzt wird, json so alles was ich will ist, um in der Lage sein, andere Parameter, ohne die Körper.
Ich weiß, ich bin mit der restTemplate falsch, so dass jede Hilfe wäre sehr geschätzt werden.
InformationsquelleAutor Quantum_Entanglement | 2012-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du machst ein
HTTP POST
, aber Sie sind nicht durch ein Objekt zu setzenPOST
ed. SpringRestTemplate
ist, um herauszufinden, was Sie wollenPOST
, so sieht es aus und sieht, dass der query-string der url etwas hat, so versucht es zu verwenden.Nicht fügen Sie eine query-string zu einem
POST
einfach das Objekt, das Sie wollenPOST
.Buch
Spring in Action (3rd edition)
decktRestTemplate
(und der REST im Allgemeinen) ziemlich gut. Ich empfehle einen Blick auf Sie.InformationsquelleAutor nicholas.hauschild