【问题标题】:Designing REST API Endpoints: path params vs query params?设计 REST API 端点:路径参数与查询参数?
【发布时间】:2017-01-28 03:44:43
【问题描述】:

在数据库中获取这两个表:

  • topics 包含主题列表
  • terms 包含 uni、bi 和 trigrams 的列表
  • baggings 与列 topic_id、term_id 和 weight

一个术语可以在多个主题中使用,那么您将如何构建 API 端点?这是一个查询参数与路径参数...

路径参数

获取https://localhost/topics/:topic-id/terms/

查询参数

获取https://localhost/terms/?filter_by=topic&filter_value=:topic-id

最后一个解决方案对于执行各种terms 操作和搜索也很有用。第一个(路径参数)只能与给定的topic 相关使用。

【问题讨论】:

标签: php rest slim restful-architecture restful-url


【解决方案1】:

如果你愿意,你可以同时支持。 当我需要搜索带有动态参数的东西时,我通常使用查询参数。

为了获取与主题 id 相关的所有术语,我会使用

GET https://localhost/topics/:topic-id/terms/

这应该列出topic_id 的所有术语

但如果您的搜索有更多您想使用的过滤器,我会继续支持查询参数。假设您只想要与特定主题的特定类型匹配的术语,那么我将使用查询参数。

我个人不喜欢像这样查找特定的主题 ID。

GET https://localhost/terms/?filter_by=topic&filter_value=:topic-id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 2012-04-11
    • 2020-01-16
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    相关资源
    最近更新 更多