Массив в список?Угловой - Весна - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь сделать пост-запрос, но получаю странную ошибку.

Не найден основной или конструктор по умолчанию для интерфейса java.util.List

клиенты, счета и транзакции - это обычные массивы (у машинописного текста нет списка), но это должно сработать, я думаю.

Мне действительно нужно получить Client [] и т. Д. ..., а затем преобразовать в списокв контроллере?не имеет особого смысла.

Код:

Запрос

createEnvironment(environment,clients,accounts,transactions) {
const params = new HttpParams()
  .set("environment", environment)
  .set("clients", clients)
  .set("accounts", accounts)
  .set("transactions",transactions)
  .set("isCloned", "false");

console.log(params);

return this._http.post<any>(RequestProperties.baseUrl + "/environment/create", params, this.options);
}

Пружина

 @PostMapping("/environment/create")
public boolean createEnvironment(Environment environment, List<Client> clients, List<Account> accounts,
                                 List<Transaction> transactions,boolean isCloned) {
    environmentService.createEnvironment(environment,clients,accounts,transactions, isCloned);
    return true;
}

edit:

Хорошо, даже с Client [] и т. д. Я получаю

Не найден первичный конструктор или конструктор по умолчанию для класса [com.myproject.models.Client;

1 Ответ

0 голосов
/ 24 мая 2018

Вам не хватает аннотации @RequestBody перед параметром вашего метода, который должен быть десериализован из JSON.Поскольку в вашем запросе только одно тело, вы должны обернуть все свои объекты в один объект DTO.Кроме того, не передавайте ваши объекты в HttpParams объект, но в вашем теле POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...