Angular 从7中的服务调用id

Angular 从7中的服务调用id,angular,web-services,Angular,Web Services,我有一个web api调用。但是有身份证 我有这个: private readonly apiDiploma = 'api/support/teachers/personId'; 然后我这样调用这个方法: return this.http.get<DiplomaModel>(this.apiDiploma, spinnerMessage).pipe(map(result => result.documents)); 所以这个人被硬编码了。它起作用了 那么我要改变什么呢

我有一个web api调用。但是有身份证

我有这个:

private readonly apiDiploma = 'api/support/teachers/personId';
然后我这样调用这个方法:

  return this.http.get<DiplomaModel>(this.apiDiploma, spinnerMessage).pipe(map(result => result.documents));
所以这个人被硬编码了。它起作用了

那么我要改变什么呢

多谢各位

这是api方法:

private readonly apiDiploma = 'api/support/teachers/personId/diploma/'; 
所以我需要一个来自:

export class TeacherSearchModel {
  personId: number;
  name: string;
  dateOfBirth: string;
  bsn: string;
  registerNumber: string;
}
但如果我这样做:

private readonly apiDiploma = 'api/support/teachers/1001/diploma/';
 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));
        }

假设
personId
是一个包含个人id的变量,只需将
personId
连接到您的URL:
'api/support/teachers/'+personId
'api/support/teachers/${personId}'

您应该声明一个名为
personId
的属性,您可以根据需要/逻辑为其赋值。当使用es6模板文本进行服务调用时,使用
personid
替换
apipdiplificate
中的personid。${this.apipdiplificate}${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));
private readonly-apipdiplication='api/support/personid/diplication/';
personiId='1234'//您可以动态更改personid。
返回this.http.get(this.api.replace('personid',this.personid),spinnerMessage).pipe(map(result=>result.documents));

不言自明,不是吗?您必须连接/插入字符串部分和值,以便在调用时创建传入的URL字符串。另一个问题是,您的硬编码url字符串不是以
文凭
结尾,而您测试的字符串是以
结尾的。因此,url由3部分组成:
'api/support/teachers/'+personId+'/diplication/'
谢谢。但对web api的调用如下所示:private readonly apipdiplificate='api/support/teachers/personId/diplificate/';文凭是像personid一样的静态字符串还是动态值?您的问题似乎没有说明“文凭”是静态值还是动态值?只需按照我的答案操作即可,您不需要添加${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));