Wysłanie tablicy do Rest Controllera

Wysłanie tablicy do Rest Controllera
VA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 127
0

Witam,
Czy ktoś mógł by mi napisać jak wysłać z poziomu angularJS lub Postman tablicę do Springowego kontrollera ? Robię to w taki sposób:

Kopiuj
@PostMapping(value = "/add")
    public HttpEntity addBudget(@RequestBody List<Dto> dto){
        dto.forEach(System.out::println);
        return (HttpEntity) ResponseEntity.ok();
    }
Kopiuj
$http({
            method: 'POST',
            url: serverIp + userPath + '/add',
            data: { 
                dto : $scope.dto
            }
        }).then(function successCallback(success) {
                ...
        }, function errorCallback(error) {
            ...
        });

Z góry dzięki za odpowiedź.

zyxist
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 101
1

Po pierwsze, wysyłaj po stronie JavaScriptu tablicę, a nie {dto:{...}} - co ma oznaczać ten atrybut dto w JSON-ie?

Po drugie, czy kompilator przypadkiem nie wymaże Ci tu informacji o typach generycznych? Spróbuj zrobić sobie coś takiego i użyć tego jako typu argumentu:

Kopiuj
public class DtoList extends ArrayList<Dto> {
   // ...
}
BA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 68
1

Musisz w Body wysłać zserializowaną listę obiektów po prostu, np:

Kopiuj
[
{"field":"value"},
{"field":"value"]
]
VA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 127
0

zyxist: dto to tablica w obiektow, w tym przypadku {"name":"name", "value":"24.24", "type":"MINUS"}. Problem wydaje się być po stronie angulara ponieważ w Postmanie udało mi się poprawnie przesłać.
bames próbowałem tak i też nie działa:

Kopiuj
[
{"name":"name", "value":"24.24", "type":"MINUS"}, 
{"name":"name", "value":"24.24", "type":"MINUS"}
]
BA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 68
1

A to Dto jest JavaBeanem?

zyxist
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 101
1

Nie, Ty nie wysyłasz tablicy obiektów. Ty wysyłasz jeden obiekt z kluczem dto, w którym jest tablica obiektów i pytam, dlaczego właśnie tak :). Wskazuję Ci właśnie najbardziej prawdopodobne miejsce problemu :).

VA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 127
0

zyxist właśnie tutaj jest błąd. Wielkie dzięki Panowie za poświęcony czas :)
Temat do zamknięcia.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.