Как сгенерировать ошибку при получении другого типа данных из API - PullRequest
0 голосов
/ 23 октября 2018

Как выдать ошибку, когда сервер отправляет вам другой тип данных по сравнению с моделью, созданной на стороне клиента.filename - service.ts

  getUserData(): Observable<User1> {
        let api_url = 'https://api.myjson.com/bins/tnick';
           return this.http.get(api_url).pipe(
            map((response: Response) => response.json()),
            map(({userid, terms_status}) => new User1(userid, terms_status))
          );
      }

filename - app.component.ts

 getData() {
      const data = this.userService.getUserData().subscribe(res => {
      });
    }

filename - model.ts

export class User1 {

  constructor(public userid: Number,public terms_status: Number
  ) {}
  }

поэтому в ответ я получаюuserid как строка, но в модели я определил ее как число, поэтому он должен выдавать ошибку, но не выдает ошибку типа данных, а также я отправляю более двух параметров, все еще принимая ответ. Я делаю ошибку при отображении ответа на модельПожалуйста, дайте мне правильное решение для этого.

1 Ответ

0 голосов
/ 23 октября 2018

Используйте приведение типа, как показано ниже:

getUserData(): Observable<User1> {
    let api_url = 'https://api.myjson.com/bins/tnick';
       return this.http.get(api_url).pipe(
        map((response: Response) => response.json()),
        map(({userid, terms_status}) => new User1(Number(userid), Number(terms_status)) )
      );
}

Если вы хотите выдать ошибку, если тип данных не соответствует.Сравните тип данных и сгенерируйте ошибку, как показано ниже:

throw new Error("Data type should be same !");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...