идентификационный номер из сервиса в Angular 7 - PullRequest
0 голосов
/ 01 марта 2019

И у меня есть вызов веб-API.Но с идентификатором.

У меня есть это:

private readonly apiDiploma = 'api/support/teachers/personId';

Затем я называю этот метод следующим образом:

  return this.http.get<DiplomaModel>(this.apiDiploma, spinnerMessage).pipe(map(result => result.documents));

Но это не работает.Но, например, если я сделаю это:

private readonly apiDiploma = 'api/support/teachers/1001/diploma/';

, то PersonId жестко закодирован.Это работает.

Так что я должен изменить?

Спасибо

это метод API:

private readonly apiDiploma = 'api/support/teachers/personId/diploma/'; 

Поэтому мне нужен PersonId из:

export class TeacherSearchModel {
  personId: number;
  name: string;
  dateOfBirth: string;
  bsn: string;
  registerNumber: string;
}

Но если я сделаю это:

 private readonly apiDiploma = 'api/support/teachers/${personId}/diploma';

, а затем это:

  getDiplomaDocumentList(spinnerMessage?: string): Observable<DocumentListModel> {
            // Get and return diploma info from backend


            return this.http.get<DiplomaModel>(this.apiDiploma,  spinnerMessage).pipe(map(result => result.documents));
        }

Я все еще получаю ошибки:

GET http://localhost:6597/api/support/teachers/$%7BpersonId%7D/diploma 400 (Bad Request)
scheduleTask @ zone.js:3243
push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask @ zone.js:410

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Вы должны объявить свойство с именем personId, вы можете присвоить ему значение на основе ваших потребностей / логики.замените personid на apiDiploma с помощью personId при вызове службы с использованием шаблона es6 literal ${this.apiDiploma}${this.personid}

private readonly apiDiploma = 'api/support/personid/diploma/';

personiId = '1234'; //you can change the personid dynamically.

return this.http.get<DiplomaModel>(this.apiDiploma.replace('personid',this.personid), spinnerMessage).pipe(map(result => result.documents));
0 голосов
/ 01 марта 2019

Предполагая, что personId - это переменная, которая содержит идентификатор человека, просто введите personId в ваш URL: 'api/support/teachers/' + personId; или 'api/support/teachers/${personId}';.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...