RESTful uri:/ rest / course / module / problem / solution vs / rest / solution

时间:2014-10-28 18:58:18

标签: rest django-rest-framework backend

我正在为某种分层数据设计一个RESTful接口:

course > module > problem > solution

但我无法决定访问"解决方案的网址"资源应该是。这是我选择的两个选项,例如,检索具有全局唯一PK = 3的解决方案:

/courses/2/modules/5/problems/2/solutions/3
/solutions/3/

有关两者中哪一个更可取的建议?

1 个答案:

答案 0 :(得分:0)

每当我必须提出网址时,我总是问自己(在此背景下)

解决方案资源是否可以存在,没有问题,模块或课程?

是 - > /solutions/3

否 - > /courses/2/modules/5/problems/2/solutions/3

如果解决方案需要存在问题,即它属于问题,那么使用短网址就没有意义。


另一种解决方法:
在后端,您是否需要引用问题以便能够获取解决方案?

否 - > /solutions/3

是 - > /courses/2/modules/5/problems/2/solutions/3