我正在使用 Yii2 构建 RESTful API,但对 HATEOAS 支持有一些疑问。请求将输出分页 header 并包含 HATEOAS header 。
然而,HATEOAS header 包含所有链接作为一个长字符串。这对消费者来说不是很有帮助。这是标准吗?有没有办法将 Yii 中的格式更改为更易于处理的格式?
最佳答案
下面的看起来不错吗?
"_links": {
"self": {
"href": "http://localhost/users?page=1"
},
"next": {
"href": "http://localhost/users?page=2"
},
"last": {
"href": "http://localhost/users?page=50"
}
}
如果是这样,您可以很容易地拥有这样的链接。确保您的数据模型实现了 Linkable
接口(interface),然后实现了 getLinks()
方法:
class User extends ActiveRecord implements Linkable
{
public function getLinks()
{
return [
Link::REL_SELF => Url::to(['user/view', 'id' => $this->id], true),
];
}
}
Serializer
会自动将 "_links"
添加到您的响应中。
更多信息 here .
关于php - HATEOAS header 作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31576889/