2014-01-17 3 views
0

Я строю внешний restfull api. Цель этого api - открыть объекты и вычислить статистику.Какой шаблон url лучше?

Например, мы публикуем список заказов и общую сумму заказов.

стесняюсь между несколькими узорами:

  • /заказы/totalamount
  • /заказов/статистика/totalamount
  • /статистика/заказы/totalamount

Или может быть у вас есть лучшая идея?

Конечно, есть несколько объектов и несколько других статистических данных. Это только один пример

Благодарим за помощь!

+0

Предпочитаю/заказываю/стат// stats/orders и получаю totalamount как один из атрибутов результата JSON. –

ответ

1

Я предпочитаю /orders/stats или /stats/orders, и имеют totalamount в качестве одного из атрибута JSON результат.

Причина totalamount - простое значение, и это действительно часть результата статистики.

/orders/totalmount не имеет большого смысла, если у вас нет многих аспектов для представления этих значений.

+0

и у меня есть много статистики? /orders/stats? Metrics [] = totalamount? –

+0

Практически это зависит от ваших потребностей. Я думаю, что у вас могут быть другие значения в JOSN, например «ordersPerMonth», «amountPerOrder» и т. Д. И вы можете иметь/orders/stats? Start = '2000-10-10' & end = '2010-10-10', и это будет верните вам количество заказов каждого месяца в качестве JSON. Потому что totalamount просто слишком тривиально, чтобы стать api. Вы можете даже просто {'totalAmount' -> 2131} в качестве своего результата, если у вас действительно есть totalAmount. Но я бы никогда не поставил totalAmout в качестве последней части URL-адреса. –

+0

да, я понимаю. Мой комментарий в случае, если у нас есть (30 показателей), возвращаемых/orders/stats. Добавьте параметр для выбора показателей, это хорошая идея? –

1

На это нет ни одного правильного ответа - все зависит от остальной части вашего API. Например ...

/статистика/заказы/totalamount - имеет смысл, если ваш API предоставляет много статистики, статистика очень важны, и вы предоставите статистику на более чем просто заказов

/заказы/Статистика/totalamount - имеет смысл, если вы предоставляете другую статистику по заказам и не указываете статистику по другим вещам.

/orders/totalamount - имеет смысл, если это единственный подобный предмет.

Подумайте, какие важные объекты в вашем API являются, с точки зрения ваших пользователей. Я бы предположил, что заказы будут самой важной сущностью.

+0

У меня может быть много объектов и много статистики в будущем. Так что я думаю, что/orders/stats/totalamount будет чище. Я буду держать/статистику/* при необходимости в наличии –

Смежные вопросы