REST与多对多关系中的一对多关系

时间:2015-07-17 20:49:26

标签: database rest url

我的数据库设计有多对多,其中连接表有一对多。如下所示:

Exercise
    ID
    Name
    Templates (Many to Many with Template through TemplateExercise)
    ...

Template
    ID
    Exercises (Many to Many with Exercise through TemplateExercise)
    Name
    ...

TemplateExercise
    """
    Many-to-many relationship for Template and Exercise
    """
    ID
    ExerciseID
    TemplateID
    ExerciseSets (One to Many with ExerciseSet)
    ...

ExerciseSet
    ID
    TemplateExerciseID
    Maximum Rest
    Minimum Rest
    ...

目前,我有以下网址:

运动

/api/exercise [GET]
/api/exercise/id [GET]

模板

/api/template [GET | POST]
/api/template/id [GET | PUT | DELETE]

目前,在执行PUT /api/template/id时,只更新模板属性,而不是它的关系。

我的问题是,设计用于更新/删除模板练习及其设置的URL的最佳方法是什么?

我在想这样的事情:

/api/template/{id}/exercise/ [GET | POST ] - 将检索所有模板练习实例,并允许创建新的模板练习(及其集合)。

/api/template/{id}/exercise/{id} [GET | DELETE] - 将检索模板练习实例及其设置,并允许将其删除。

/api/template/{id}/exercise/{id}/set/ [GET | POST] - 获取所有模板练习集,并允许添加新模板。

/api/template/{id}/exercise/{id}/set/{id} [GET | DELETE | PUT] - 获取一组练习并允许删除或更新。

这看起来合情合理吗?

0 个答案:

没有答案