Api 哪种url模式更好?

Api 哪种url模式更好?,api,rest,restful-url,Api,Rest,Restful Url,我正在构建一个外部restfull api。此api的目标是公开对象和计算的统计信息 例如,我们公开了订单列表和订单总量 我在几种模式之间犹豫不决: /订单/总金额 /订单/统计/总金额 /统计/订单/总金额 或者你有更好的主意 当然,有几个对象和几个其他统计数据。这只是一个例子 谢谢你的帮助 这个问题没有一个正确的答案-这完全取决于API的其余部分。例如 /stats/orders/totalamount——如果您的API提供了大量的统计信息,那么这些统计信息是很重要的,并且您提供的统计信

我正在构建一个外部restfull api。此api的目标是公开对象和计算的统计信息

例如,我们公开了订单列表和订单总量

我在几种模式之间犹豫不决:

  • /订单/总金额
  • /订单/统计/总金额
  • /统计/订单/总金额
或者你有更好的主意

当然,有几个对象和几个其他统计数据。这只是一个例子


谢谢你的帮助

这个问题没有一个正确的答案-这完全取决于API的其余部分。例如

/stats/orders/totalamount——如果您的API提供了大量的统计信息,那么这些统计信息是很重要的,并且您提供的统计信息不仅仅是订单

/orders/stats/totalamount-如果您提供不同的订单统计信息,而不提供其他方面的统计信息,那么这很有意义

/订单/总金额-如果这是唯一此类项目,则有意义


从用户的角度考虑API中的重要实体是什么。我认为订单将是最重要的实体。

我更喜欢
/orders/stats
/stats/orders
并将totalamount作为JSON结果的属性之一

原因是totalamount只是一个简单的值,它实际上只是统计结果的一部分


/orders/totalmount没有多大意义,除非您有许多方面来表示此值。

我更喜欢/orders/stats或/stats/orders,并将totalamount作为JSON结果的属性之一。我有许多可用的统计信息吗/订单/统计数据?指标[]=totalamount?实际上这取决于您的需求。我认为您可能在JOSN中有其他值,如“ordersPerMonth”、“amountPerOrder”等,您可以有/orders/stats?start='2000-10-10'&end='2010-10-10',它将以JSON的形式返回您每个月的订单量。因为totalamount太微不足道了,无法成为api。如果你真的有totalAmount,你甚至可以把{'totalAmount'->2131}作为你的结果。但我永远不会把totalAmout作为url的最后一部分。是的,我明白。我的评论是针对/orders/stats返回的(30个指标)的情况。添加一个参数来选择度量,这是一个好主意吗?好的,我想,我会选择你的方法。我应该在周一实施,所以我会回来的可能是^^^^^谢谢你;)谢谢很高兴我的回答有帮助:)我将来可能会有很多对象和很多统计数据。所以我认为/orders/stats/totalamount会更干净。如果需要,我将保留/stats/*可用