Angular 6 - http получает отображение ответа на запрос объекта

500 Внутренняя ошибка сервера

Общее сообщение об ошибке, заданное при возникновении непредвиденного состояния, и более точное сообщение не подходит

Если метод HTTP POST или класс верен , его ничего плохого со стороны клиента (приложение для Android). Проблема возникла с сервера. Код состояния приложения и строка состояния ответного сообщения JSON получают 500 до тех пор, пока вы не исправите ошибку на стороне сервера.

Примечание: без исправления этой ошибки можно отлично работать с тем же URL-адресом для iOS.

Как сделать HTTP-сообщение в Android?

0
задан Daniel Częstki 22 February 2019 в 12:31
поделиться

2 ответа

ItemList не является массивом Record, потому что TypeScript - это в основном javascript с типизацией для компилятора. Компилятор просто проверяет. Если вы скажете, что http.get возвращает Record[], то компилятор поверит вам, что возвращенный объект будет иметь эту структуру.

Вы должны сделать это массивом записей. Это довольно просто и должно быть сделано вручную, как вы это делали бы в JavaScript:

obs.pipe(
  map((records) => records.map((record) => Object.assign(new Record(), record)))
).subscribe((records: Record[]) => {
  this.itemList = records;
});

Небольшой совет, загляните в трубу async. Таким образом, вам не нужно подписываться внутри вашего компонента, и все это выглядит немного лучше.

0
ответ дан PierreDuc 22 February 2019 в 12:31
поделиться

Вы могли бы сделать что-то вроде:

this.itemList = records.map(r => Object.create(new Record(), r);

а почему? потому что я думаю.

0
ответ дан Normunds Kalnberzins 22 February 2019 в 12:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: