我有一堆规范化的表,叫做danger、countermeasure和module。现在,我有了一个包含三列的表krt,表示三个表之间的连接。(列名danger_id、countermeasure_id、module_id) /danger等普通端点显示相应表的元素。
/krt?where={result: module, danger_id: x}将使用danger_id == x查询表krt中的所有危险,并将结果与模块表连接。结果将如下所示(转换为显示)
danger_id:
- module a
- module b
danger_id2:
- module ..
[...] 当然,我可以提供一个视图,并为此视图添加一个自定义端点。但是,不仅有三种可能的视图,而且还有更复杂的视图,只有一两个额外的连接。(如果需要,也可以提供一个示例)
因此,这种查询和连接是一个常见的概念,还是我违反了这种设计的任何REST约束?有没有更好/更直观的方式来提供这样的信息?
发布于 2016-08-27 15:56:12
如果您询问的是RESTful URL的外观,它可能是这样的
/krt?dangerId=x&result=module
在我看来,您决定如何构建SQL查询与RESTful设计无关。
也没有指导方针说每个GET请求都必须是可缓存的-这也取决于其他因素。如果您的数据是相当静态的,但是请求的频率足够高,那么您甚至可以在很短的一段时间内对其进行缓存。
https://stackoverflow.com/questions/39161846
复制相似问题