1
我被困在如何構建我正在開發的RESTful API的URL上。 我的問題來自這樣一個事實,即有時我需要從一次調用中獲取多個連接的表。RESTful API Url Structuring
在一個實例中,我需要得到兩個表。我有一個名爲courses
的表和一個名爲topics
的表。我需要獲得course_name
行,然後查看屬於該課程的所有主題。
在另一個例子中,我需要得到三張表。我需要加入topics
到parts
到bullet_points
表
我應該如何在這些URL中引用這些內容?
它應該是這樣的東西? 要獲得一門課程:
courses/:course_id/
爲了得到一個過程,它的主題:
courses/:course_id/topics
爲了得到一個主題,它的部件,它的要點:
courses/:course_id/topics/:topic_id/parts
我新的這個,所以我想知道我應該如何真正接近的網址結構。
你不應該考慮持久性模型。你也應該最初遠離聚合......換言之,「要獲得課程和它的主題」......應該不會發生。 HATEOAS和個人資源可以更好地解決這個問題。每個子URL都只能代表子集合/資源。除此之外,URL結構本身看起來很明智。 –
感謝您的迴應馬特!我想我明白你在說什麼。繼續將URI段附加到URL上不好嗎?是否有最大數量的細分應包含? 這也意味着我不應該通過一個請求抓取連接的表嗎? – Sneaksta
我認爲這個想法是你的資源應該被分成好模型。就像你應該有'$ list = $ model-> getCourseList()','$ course = $ model-> getCourse($ c_id)','$ course-> getTopicList()','$ course-> getTopic $ T_ID)';每個人都有一份工作。通過這種方式,您可以撥打電話並獲取該特定請求所需的資源。 – Supericy