将这两个表放在数据库中:
topics
包含主题列表terms
包含uni,bi和trigrams的列表baggings
列topic_id
,term_id
和weight
术语可用于多个主题,那么您将如何构建API端点?这是一个查询params vs path params ......
路径参数
查询参数
获取https://localhost/terms/?filter_by=topic&filter_value=:topic-id
最后一个解决方案对于执行各种terms
操作和搜索也很有用。第一个(Path Params)只能用于给定的topic
。
答案 0 :(得分:2)
如果您愿意,可以同时支持。 当我需要使用动态参数搜索某些内容时,我通常会使用查询参数。
为了获取与主题ID相关联的所有术语,我将使用
GET https://localhost/topics/:topic-id/terms/
这应列出topic_id
但是如果您的搜索有更多想要使用的过滤器,我会继续并支持查询参数。假设您只想要特定主题的特定类型的术语,那么我将使用查询参数。
我个人不喜欢查找像这样的特定主题id。
GET https://localhost/terms/?filter_by=topic&filter_value=:topic-id