Я создаю RESTful API с Yii2, но у меня есть несколько вопросов относительно поддержки HATEOAS. Запросы будут выводить заголовки пагинации и включать заголовок HATEOAS.
Однако заголовок HATEOAS содержит все ссылки в виде одной длинной строки. Это не очень полезно для потребителя. Это стандарт? Есть ли способ изменить формат в Yii на что-то, что легче обрабатывать?
Выглядит ли следующее хорошо?
"_links": {
"self": {
"href": "http://localhost/users?page=1"},
"next": {
"href": "http://localhost/users?page=2"},
"last": {
"href": "http://localhost/users?page=50"}
}
Если это так, вы можете легко иметь такие ссылки. Убедитесь, что ваша модель данных реализует Linkable
интерфейс, а затем реализовать getLinks()
метод:
class User extends ActiveRecord implements Linkable
{
public function getLinks()
{
return [
Link::REL_SELF => Url::to(['user/view', 'id' => $this->id], true),
];
}
}
Serializer
автоматически добавит "_links"
на ваш ответ.
Больше информации Вот.
Других решений пока нет …