php - HATEOAS header 作为字符串

标签 php rest yii yii2 hateoas

我正在使用 Yii2 构建 RESTful API,但对 HATEOAS 支持有一些疑问。请求将输出分页 header 并包含 HATEOAS header 。

然而,HATEOAS header 包含所有链接作为一个长字符串。这对消费者来说不是很有帮助。这是标准吗?有没有办法将 Yii 中的格式更改为更易于处理的格式?

HATEOAS Header

最佳答案

下面的看起来不错吗?

"_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/

相关文章:

java - 使用wiremock进行Rest API模拟: java

yii - 根据选择的单选按钮验证模型

php - Yii1 MYSQL 连接 4 个表,其中类和组

php - Yii 框架 : Using data from related Active Record models for searching

php - 使用 MySQL 查询结果通过 FusionCharts 创建图表

javascript - 使用 REST 更新 SharePoint 文档库中的文件内容 - javascript

rest - SOA 最常用的技术是什么?

php - 从 YII 框架中的 3 个表中检索数据

php - 尝试将对象传递给类会导致变量未设置

php - mysql 带有额外条件的连接