REST API:我们是不是应该为结果和结果计数设置单独的 API?
Posted
技术标签:
【中文标题】REST API:我们是不是应该为结果和结果计数设置单独的 API?【英文标题】:REST API: Should we have separate API for result and result count?REST API:我们是否应该为结果和结果计数设置单独的 API? 【发布时间】:2017-12-20 12:49:29 【问题描述】:我很困惑我们是否应该创建单独的 API 来获取结果和结果计数,或者我们应该只根据结果 API 中的查询字符串来获取计数。
/api/results/ : Fetches all records
/api/results/?city=1: Fetches all records with city=1
/api/results/?iscount=1: Fetches the count of records i.e. list of cityId and count of record for respective cityId
/api/results/?city=1&iscount=1: Fetch the count of record for cityId=1
或
/api/resultcount/: Fetches the count of records i.e. list of cityId and count of record for respective cityId
/api/resultcount/?city=1: Fetch the count of record for cityId=1
对我来说,查询字符串用于过滤资源,所以我赞成创建单独的 API 来获取计数。意见?
【问题讨论】:
【参考方案1】:我们不需要创建另一个点来获取计数。相反,我们可以在响应标头中发送计数详细信息。
如下所示,
/api/results/(GET 方法) - 这将返回结果。
/api/results/(HEAD 方法) - 这将只返回响应标头中的结果计数。
请看下面的链接 What’s the best RESTful method to return total number of items in an object??
【讨论】:
HEAD /api/results
的问题是服务器端查询必须实际获取结果,而您只需要一个计数(不那么密集的查询)。以上是关于REST API:我们是不是应该为结果和结果计数设置单独的 API?的主要内容,如果未能解决你的问题,请参考以下文章