Angular 7: Как правильно проанализировать ответы бэкэнда для извлечения даты из строки? - PullRequest
0 голосов
/ 09 февраля 2019

У меня есть функция, возвращающая фильм в службу (но также и другой метод, возвращающий коллекцию фильмов):

postNewMovie(movie: Movie): Observable<Movie> {
    const requestUrl = `${apiUrl}/create`;
    const movieJSON = JSON.stringify(movie);
    return this.http.post(requestUrl, movieJSON, httpOptions).pipe(
        tap((result: Movie) => console.log(`Posted movie with id = ${result.id} and title = ${result.title}!`))
    );

Модель выглядит следующим образом:

export class Movie {
    (...)
    releaseDate?: Date;

    constructor(obj: any) {
      (...)
      this.releaseDate = obj.releaseDate;
    }
}

Теперь, как правильно конвертироватьдата выхода строки из вызова API backend (в формате ISO8601 ) и где мне это сделать?Я видел похожие ответы, советующие использовать некоторую пользовательскую функцию реверирования в JSON-парсере, но я мог бы также сделать это в конструкторе модели, так каков наилучший подход?

Как вы думаете, я мог бы использовать момент.js библиотека для такого рода преобразований или это "перебор"?

1 Ответ

0 голосов
/ 09 февраля 2019

попробуйте на конструкторе в модели, он должен работать

 this.releaseDate = (obj.releaseDate ) ? new Date(obj.releaseDate ) : new Date();
...