api-platform / api-platform/core

Json HAL: URI template implementation

オープン
#2,120 コメント 1 件 リアクション 1 件 担当者 0 名 GitHub で見る
主要言語
PHP
スター
2.6k
フォーク
980
平均マージ
2日 5時間
マージ済み PR(30日)
48

説明

First, thank you for this amazing project that saved me a lot of time to create my API!

For my VueJS application, i would like to implement an auto discoverable API with HATEOAS + JSON HAL (imposed for an educational project).

In my client side, i use [Traverson](https://github.com/traverson/traverson ) to request my API but without URI template i can't fetch a document with an ID parameter.

_https://github.com/traverson/traverson/blob/master/user-guide.markdown#uri-templates_

traverson

.from('https://demo.api-platform.com/')
.follow('book', 'article')
.jsonHal()
.withTemplateParameters({ id: 1 })
.getResource(function(error, doc) {
...
});

_https://demo.api-platform.com/books.jsonhal_

{

"_links": {
"self": {
"href": "\/books.jsonhal?page=1"
},
"first": {
"href": "\/books.jsonhal?page=1"
},
"last": {
"href": "\/books.jsonhal?page=4"
},
"next": {
"href": "\/books.jsonhal?page=2"
},
"item": [{
"href": "\/books\/1"
}, {
"href": "\/books\/2"
}]
},
...
}

With URI template it would be something like:

{

"_links": {
"self": {
"href": "\/books.jsonhal?page=1"
},
"first": {
"href": "\/books.jsonhal?page=1"
},
"last": {
"href": "\/books.jsonhal?page=4"
},
"next": {
"href": "\/books.jsonhal?page=2"
},
"article": "\/articles\/{id}",
"item": [{
"href": "\/books\/1"
}, {
"href": "\/books\/2"
}]
},
...
}

At the moment, i've not found a way to request the API without providing the URI to fetch a document (collection it's okey).
Are URI templates planned to be implemented ?

Thanks

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。