Я звоню в веб-сервис, который возвращает
[
{
"product_id": 4253579243953800463,
"timestamp": 1525107472,
"event_type": "PRODUCT_VIEW",
"event_count": 1
},
{
"product_id": 788410946016999754,
"timestamp": 1525107472,
"event_type": "PRODUCT_VIEW",
"event_count": 1
}
]
Я закодировал сервис в своем угловом коде, который выполняет вызов этой серверной службы
getLastRecommendations(): Observable<UserProductEvent[]> {
return this.http.get<UserProductEvent[]>(url, HTTP_OPTIONS)
}
Я вижу, что ответ ID продукта имеет тип long, и его значение больше, чем Number.MAX_SAFE_INTEGER в javascript, поэтому я хочу, чтобы идентификатор продукта обрабатывался как строка.
в противном случае значения округляются до
[
{
"product_id": 4253579243953800700,
"timestamp": 1525107472,
"event_type": "PRODUCT_VIEW",
"event_count": 1
},
{
"product_id": 788410946016999800,
"timestamp": 1525107472,
"event_type": "PRODUCT_VIEW",
"event_count": 1
}
]
Я попытался изменить тип product_id на строку в моем объявлении интерфейса машинописного текста, но он все еще не работает.
Как я могу заставить машинописный текст / javascript рассматривать поле как строку?
Может ли кто-нибудь помочь, пожалуйста?
export interface UserProductEvent {
product_id: string;
timestamp: number;
event_type: string;
event_count: number;
}
и я не могу изменить бэкэнд. (