如何组织需要 return 来自给定实体的所有标题的 API?
How to organize an API that needs to return all titles from a given entity?
我有以下端点 returns 一个实体的页面
/entity?page={page}
但是,我需要另一个端点 returns 一个包含所有实体标题的列表。我需要它,因为有一个下拉过滤器选项,用户可以按标题过滤项目,因此我必须在那里列出所有标题。
我想知道在我的 API 中组织这个的最佳实践是什么。也许就像:
/entity/titles
从基本的 REST 角度来看,我将从重组开始,我将重组以遵循更标准化的结构。在一般的 REST 思想中,资源应该用复数命名,除非在请求范围内只有其中一个。基于此,我建议这些端点
GET /entities/ -> Provides a list of all entities (index action)
GET /entities/:id -> where :id is a URL parameter indicating the ID of the page, Provides the details for a single entity (show action)
有了这个基本结构,你的问题就变得更直接了。如果 entity
的有效负载很小并且您不担心性能,我会发出 front-end 请求 GET /entities
并提取标题。
如果 entity
的负载很大,那么我建议在索引操作中添加一个可选的查询参数:
GET /entities?onlyTitles=true
当此参数为 true
时,返回的有效负载可以限定为标题。当省略或 false
时,返回的有效载荷可以是实体的完整有效载荷。
我有以下端点 returns 一个实体的页面
/entity?page={page}
但是,我需要另一个端点 returns 一个包含所有实体标题的列表。我需要它,因为有一个下拉过滤器选项,用户可以按标题过滤项目,因此我必须在那里列出所有标题。
我想知道在我的 API 中组织这个的最佳实践是什么。也许就像:
/entity/titles
从基本的 REST 角度来看,我将从重组开始,我将重组以遵循更标准化的结构。在一般的 REST 思想中,资源应该用复数命名,除非在请求范围内只有其中一个。基于此,我建议这些端点
GET /entities/ -> Provides a list of all entities (index action)
GET /entities/:id -> where :id is a URL parameter indicating the ID of the page, Provides the details for a single entity (show action)
有了这个基本结构,你的问题就变得更直接了。如果 entity
的有效负载很小并且您不担心性能,我会发出 front-end 请求 GET /entities
并提取标题。
如果 entity
的负载很大,那么我建议在索引操作中添加一个可选的查询参数:
GET /entities?onlyTitles=true
当此参数为 true
时,返回的有效负载可以限定为标题。当省略或 false
时,返回的有效载荷可以是实体的完整有效载荷。