我想設計一個談論公交車站的REST API。資源之間的REST 1:1關係
例如現在
GET /stations/1asca2dac34
{
name: 'Queen str.'
lat: 50.45
lon: 9.63
}
我的目標是代表距離站之間。例如,站點AAA和BBB之間的距離是5km。我不是關於REST設計的專家。設計這種1:1關係的最佳方法是什麼?
我可以考慮以下解決方案,但我不確定它們是否適合REST風格。
的你的例子1)
GET /distances/?station1=AAA&station2=BBB
{
uid: 123
station1=AAA
station2=BBB
km: 5
}
2)
GET /distances/AAA/BBB
{
uid: 123
station1=AAA
station2=BBB
km: 5
}
3)
GET /distances/123
{
uid: 123
station1=AAA
station2=BBB
km: 5
}
超好用的超媒體 - 很好看。來自/ stations/AAA的初始響應可以以/ stations/AAA/distance?from = {id}的形式返回URL模板,這將使客戶端能夠在運行時發現URL。然後應該用鏈接關係標記該URL模板,以便客戶端可以通過link-rel-id查找模板。請參閱HAL的實例,瞭解包含鏈接的媒體類型(http://stateless.co/hal_specification.html)。 –