我有一个A级,它通过一对多的关系与B级相关(A可以“拥有”几个B)
但是类代码中唯一的关系是B包含它所关联的A的id
。
我获取A类资源的网址映射是经典的,例如:
/a/{aId}
我只是想知道B类的url映射建议采用什么模式。
这样的事情:
/a/{aId}/b/{bId}
我目前拥有,因为这样,我知道通过查看网址B对象与ID为aId
的A对象相关但我现在认为这是无用的,因为B对象已经包含了这个标识。
我正在使用 SpringMVC 和 AngularJS 我需要将aId
参数放在方法和调用中,即使我不使用它这有点烦人。
我应该使用直接映射吗?像这样:
/b/{bId}
你们在你的应用中推荐和使用了什么?
提前致谢!
答案 0 :(得分:1)
我建议您考虑如何将资源公开给客户,而不是考虑如何将URI映射到您的课程。
如果您希望客户端始终使用此路径检索/修改一个或多个“b”资源,请转到解决方案1(/ a / {aId} / b ....)。
如果有意义的话,他们可以直接检索/修改你的资源b而不传递资源“a”。
如果有正当理由,您甚至可以同时执行这两项操作。
答案 1 :(得分:0)
这是您需要根据逻辑理由做出的决定。
我建议您将A类和B类视为资源,并提出以下问题。
让B资源独立于A资源是否有意义?
如果您对问题的回答是肯定的话,那么在A(/b/{id}
)的上下文之外使B可用是合乎逻辑的。否则,在A(/a/{id1}/b/{id2}
)的上下文中使B可用更有意义。