gpt4 book ai didi

javascript - 如何使用 JavaScript/AngularJS 访问 _embedded 资源中的 HAL _links

转载 作者:行者123 更新时间:2023-11-28 05:13:13 25 4
gpt4 key购买 nike

我很欣赏有几个库可以使用 HAL 格式的 HATEOAS linkrels,但我很想了解更多有关以最基本的方式访问 _embedded 资源及其 _links 的信息 - 或者我想我应该说天真 - 方式。

作为示例,我有以下“usersResource”($http) Spring HATEOAS 输出:

{  
"_embedded":{
"userList":[
{
"username":"admin",
"roles":[
"ADMIN"
],
"_links":{
"self":{
"href":"http://localhost:8081/users/admin"
},
"password":{
"href":"http://localhost:8081/users/admin/password"
},
"delete":{
"href":"http://localhost:8081/users/admin"
}
}
}
]
},

"_links":{
"self":{
"href":"http://localhost:8081/users"
},
"create":{
"href":"http://localhost:8081/users"
}
}
}

如果我运行像 usersResource.$hasEmbedded("userList") 或 usersResource.$hasLink("create") 这样简单的东西,我就可以毫无问题地得到 true 。

如果我然后尝试一些更冒险的事情,比如 usersResource.$request().$get("userList") 我会得到一个资源对象,但我很难以任何有意义的方式使用该对象。

例如,如果我想检查我的管理员用户是否存在“密码”linkrel,有什么方法可以使用返回的资源对象并对其调用 $hasLink 吗?

感谢您的评论!

最佳答案

无论如何,我后来才注意到 usersResource.$request().$get("userList") 调用返回的对象是一个数组。因此,只需循环数组即可访问 $hasLink 等方法。就我而言,我只需要到达第一个 [index 0] 对象。这成功了:

usersResource.$request().$get("userList")
.then(function (users) {

vm.users = users;

console.log("$hasLink 'delete'");
console.log(users[0].$hasLink("delete")); //return true

}
);

关于javascript - 如何使用 JavaScript/AngularJS 访问 _embedded 资源中的 HAL _links,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41203778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com