子路由最佳实践

Sub routing best practices

我正在构建一个 api,它有一条路线:/market/items/{category},它来自一个类别的 returns 项。如果用户点击一个项目,我有一条路线 /item/{id}/,其中有关于该项目的 returns 信息。我想知道在创建 restful api 时这是否是一种不好的做法。因为我经常会看到像 /market/items/{category}/{id} 这样的路线。你怎么看?

如果只需要 id 即可检索项目(换句话说,id 本身唯一标识项目而无需任何其他信息),则没有理由要求在URL 也是这样:

/item/{id}/

对于 restful API.

就可以了

另一方面,如果有多种类型的项目,每个项目都有重叠的项目标识符,那么您可能需要 URL 中的其他内容来唯一标识哪种类型的项目,从而唯一标识哪个池要查看的项目标识符。

您可能会看到某些网站在其网页中执行类似操作的一个原因 URLs:

/market/items/{category}/{id}

用于搜索索引,他们希望将类别名称与项目相关联以用于搜索引擎索引。但是,如果这只是一个 restful API,而不是可见的网页,那么您可能没有尝试针对搜索命中对其进行优化。