您好我想知道在我的应用程序开始时以角度4从Spring Data REST HATEOAS获取链接的最佳做法是什么。 我的api端点有所有链接的列表,我想在应用程序开始时将其保存在名称 - 值映射中。 例如:
`{
"_links" : {
"ticketTypes" : {
"href" : "http://localhost:8080/api/v1/ticketTypes{?page,size,sort}",
"templated" : true
},
"depositReceipts" : {
"href" : "http://localhost:8080/api/v1/depositReceipts{?page,size,sort}",
"templated" : true
},
"transitCertificates" : {
"href" : "http://localhost:8080/api/v1/transitCertificates{?page,size,sort}",
"templated" : true
}
}`
在我的主应用程序组件的onInit()中,我执行调用以检索整个列表并且它可以正常工作。 为了遵循HATEOAS原则,我不应该通过手端点创建url。我应该做的是检索我需要从我的hashmap读取它的URI。 不幸的是,我不能以一种简单的方式做到这一点,因为每个组件都可以在创建带有url的hashmap之前尝试进行REST调用。
这是检索URL列表的服务方法:
getLinks() {
this.http.get(this.url, this.http.setCommonOption())
.map((response: Response) => response.json());
.subscribe(response => {
this.linksMap = response._links;
(<any>Object).entries(this.linksMap).forEach(
([key, value]) => {console.log(key, value);
this.linksMap2.push(new Link(key, value.href));
}
);
console.log(this.linksMap2);
this.charge = 1;
})
}
我想知道是否有最佳实践来解决我的问题。