我们正在使用 Web-API 开发一个 restservice,并在遵循什么样的路由策略上大吃一惊。
我们得到了一些资源:
- 成绩
- 留言
- 家庭作业
(附带说明:我们计划使用 Hateoas 在资源之间建立链接。)
我们正在考虑 Controller[Action][Id] 导致
API\Grade[?personid] (GET/POST)
API\Grade\{id}[?personid] (GET/PUT/DELETE)
API\Grade\Lastgrades\{days}[?personid] (GET)
或使用上下文
API\Student\Grade (GET)
API\Student\Grade\{id} (GET)
API\Student\Grade\Lastgrades\{days} (GET)
AND
API\Parent\Student\{id}\Grade (GET)
API\Parent\Student\{id}\Grade\{id} (GET)
API\Parent\Student\{id}\Grade\Lastgrades\{days} (GET)
AND
API\Teacher\Student\{id}\Grade (GET/POST)
API\Teacher\Student\{id}\Grade\{id} (GET/PUT/DELETE)
API\Teacher\Student\{id}\Grade\Lastgrades\{days} (GET)
是否有充分的理由使用一种策略而不是另一种策略?