500 Внутренняя ошибка сервера
Общее сообщение об ошибке, заданное при возникновении непредвиденного состояния, и более точное сообщение не подходит
Если метод HTTP POST или класс верен , его ничего плохого со стороны клиента (приложение для Android). Проблема возникла с сервера. Код состояния приложения и строка состояния ответного сообщения JSON получают 500 до тех пор, пока вы не исправите ошибку на стороне сервера.
Примечание: без исправления этой ошибки можно отлично работать с тем же URL-адресом для iOS.
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
. Таким образом, вам не нужно подписываться внутри вашего компонента, и все это выглядит немного лучше.
Вы могли бы сделать что-то вроде:
this.itemList = records.map(r => Object.create(new Record(), r);
а почему? потому что я думаю.