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