【发布时间】:2021-02-02 13:27:50
【问题描述】:
我有一组术语要循环显示一些字典结果,这些结果具有与它们相关的链接。我有一个每个字典术语的小表单,它触发一个 lambda 函数来运行一个添加链接的存储过程。添加链接的参数之一是当前字典术语 ID。据我从 lambda 端的 Java 错误中可以看出,该函数没有发送术语 ID,所以我觉得在尝试在前端获取 ID 时我做错了。
带表格的模板
<ul>
<li *ngFor="let term of terms">
{{ term.term }} - {{ term.def }}
<ul>
<li *ngFor="let link of term.links">
{{ link.name }} - {{ link.url }}
</li>
</ul>
<div class="add-link">
<form [formGroup]="addRelatedLinkForm" (ngSubmit)="addRelatedLinkSubmit(term.id, addRelatedLinkForm)">
<input id="name" formControlName="name" type="text" placeholder="Link name">
<input id="url" formControlName="url" type="text" placeholder="URL">
<button type="submit">Add Related Link</button>
</form>
</div>
</li>
</ul>
添加相关链接服务
addRelatedLink(token: String, id: Number, link: Link): Observable<any> {
this.link_url = "http://localhost:4200/link";
let body = {
"name": link.name,
"url": link.url,
"term_id": id
}
const headers = new HttpHeaders({
'Authorization': 'Bearer ' + token,
'Content-Type': 'application/json'
});
return this.http.post<any>(
this.link_url,
body,
{
headers: headers
}
)
}
}
组件函数
addRelatedLinkForm = this.formBuilder.group({
name: '',
url: '',
term_id: ''
})
addRelatedLinkSubmit(id: number): void {
this.termsService.getAWSToken().subscribe(token => {
this.termsService.addRelatedLink(token.access_token, id, this.addRelatedLinkForm.value).subscribe(data => {
console.log(data);
});
});
}
非常感谢任何正确方向的观点!
编辑
问题解决了,Roya 让我意识到有一些地方出了问题,在调试之后,我注意到我通过网络发送的数据是正确的,我只是在 Lambda 端没有匹配一些 Java 参数。
【问题讨论】: