Eine Client-Software versucht, auf meinen Spring-MVC Rest-Server zuzugreifen, aber es wird jedes Mal eine 400 (schlechte Anfrage) Antwort angezeigt. Ich weiß, dass mein Server in Ordnung ist (er wird von vielen anderen Clients verwendet), aber ich kann die Client-Anwendung nicht debuggen, sodass ich nicht sehen kann, was sie sendet.Wie kann ich sehen, dass der JSON vom Client kommt, wenn Sie Spring-MVC verwenden?
Gibt es eine Möglichkeit für mich zu sehen, was JSON ich empfange, bevor Spring versucht, es in eine Entität zu konvertieren und fehlschlägt? Es ist in Ordnung, wenn ich dies nur zum Debugging-Zeitpunkt tun kann, ich muss nur in der Lage sein, die Entwickler dieser Anwendung zu unterstützen.
Nur für den Fall, hier ist die feder Mvc Controller-Methode:
@Named
@RequestMapping(value = "/taskmanager/task")
public class TaskManagerTaskRest {
@RequestMapping(value = "", method = RequestMethod.POST)
@ResponseBody
public void createTask(@RequestBody Task task, HttpServletRequest request,
HttpServletResponse response) throws CalabacinException {
// This code never gets executed because the Task json is invalid, but I don't know how I could see it.
...
...
}
}
Gute Antwort. Ich werde in der Lage sein zu sehen, was ich erhalte und es protokollieren (oder debuggen), was ich gefragt habe, aber für diejenigen von Ihnen, die dies versuchen, wenn Sie den Anfragetext in einem Filter lesen, werden Sie den InputStream von verbrauchen die Anfrage; und als Folge wird Spring IMMER fehlschlagen, wenn es versucht, den jSon dieses InputStream erneut zu analysieren, um es in eine Entity umzuwandeln. – Calabacin
Nicht, wenn Sie die Anfrage umbrechen - ich habe meine Antwort bearbeitet –
Ich habe diese Antwort als gültig gewählt, weil es mir sagt, wie ich programmatisch tun soll, was ich will, und das sind nützliche Informationen. Auch Fiddler hat nicht einmal für mich gearbeitet; Ich musste Wireshark verwenden – Calabacin