Ich habe versucht, ein Objekt von einer Anwendung zu einem anderen mit Rest zu senden.Ein Objekt über REST übertragen
Sender:
@Controller
public class Sender {
@RequestMapping(value = "/comMessageApp-api/getMessages")
public String restGetMessages() {
String url = "http://localhost:8079/comMessageApp-api/responseMessages";
HttpEntity<Dto2> entity = new HttpEntity<>(new Dto2());
ResponseEntity<Dto2> response = restTemplate.exchange(url, HttpMethod.POST, entity, Dto2.class);
}
}
Empfänger:
@RestController
public class Receiver {
@RequestMapping(value = "/comMessageApp-api/responseMessages")
public void restResponseMessages(HttpEntity<Dto2> request) {
System.out.println(request.getBody());
}
}
DTO:
public class Dto2 {
private String string = "Test string";
public Dto2() {
}
public String getString() {
return string;
}
public void setString(String string) {
this.string = string;
}
}
Jackson wird verwendet, Serialisierung/Deserialisierung.
Irgendwelche Ideen, warum request.getBody() im Empfänger gedruckt ist null? Ich habe versucht, das Objekt innerhalb HttpEntity und in RequestEntity zu senden. Kein Erfolg in beiden Fällen. Auf der Empfängerseite bekomme ich immer null.
Wenn Sie versuchen, das DTO an den Empfänger zu senden, sollten Sie eine POST-Methode anstelle von GET verwenden. GET dient zum Abrufen von Daten von der anderen Seite. Wenn Sie das DTO vom Empfänger abrufen möchten, müssen Sie das DTO im Empfänger erstellen und das DTO zurückgeben. –
Ich habe es geändert, um zu veröffentlichen. Aber jetzt bekomme ich 'org.springframework.web.client.HttpClientErrorException: 403 null' Ausnahme auf der Senderseite. Die Anfrage erreicht niemals Empfänger – sva605
. Bitte geben Sie einen [mcve] an. In diesem Fall müssen Sie wahrscheinlich minimale, vollständige Programme anzeigen: eines für den Server und eines für den Client. –