Wie kann man ein array übergeben in einem BEITRAG mit dem Frühling RestTemplate?

Ich habe Schwierigkeiten, die ein array übergeben, in einem POST mit Feder RestTemplate. Das folgende ist mein code, den ich verwende:

Ich rufe die RestTemplate hier:

private static void sendEntries() {
    RestTemplate restTemplate = new RestTemplate();
    String uri = "http://localhost:8080/api/log/list.json";

    //Both LogEntry and ExceptionEntry extend Entry
    LogEntry entry1 = new LogEntry();
    ExceptionException entry2 = new ExceptionEntry();

    Entry[] entries = {entry1, entry2};

    entries = restTemplate.postForObject(uri, entries, Entry[].class);

    System.out.println(new Gson().toJson(entries));
}

Und der Controller enthält:

@RequestMapping(value = "api/log/list", method = RequestMethod.POST)
public @ResponseBody Entry[] saveList(@RequestBody Entry[] entries) {
    for (Entry entry : entries) {
        entry = save(entry);
    }

    return entries;
}

Diese Ergebnisse in einem:

org.springframework.web.client.HttpClientErrorException: 400 Bad Request

Sieht es nicht aus, das array wird dem Auftrag Hinzugefügt. Alle anderen POST-request funktionieren, wenn ich versuche nicht an ein array übergeben. Ich bin mir nur nicht sicher, was ich tun müssen, um das array zu übergeben, richtig.

Ist das der richtige Weg, es zu tun? Ist es möglich, übergeben eine Sammlung statt?

InformationsquelleAutor Joe | 2013-11-12

Schreibe einen Kommentar