Я хочу добавить возможность сортировки / заказа по нескольким полям для комнат. Простой способ сделать это:
/getRooms?order_by=price:ASC
/getRooms?order_by=price # implied ASC
Но что если я захочу вернуть номера, отсортированные по цене, а затем по другому полю?
/getRooms?order_by=price:ASC,rating:DESC
Который внутренне создал бы sql: ORDER BY price ASC, rating DESC
,
Хотя, если я посмотрю на некоторые API-интерфейсы (youtube, ebay), я не увижу примеров множественных значений order by? Есть ли какая-то конкретная причина, или я просто недостаточно заглядываю?
Кроме того, имеет ли смысл использовать «+» или «-» вместо ASC или DESC? Подражая тому, как это делает Amazon:
http://docs.aws.amazon.com/AWSECommerceService/latest/DG/APPNDX_SortValuesArticle.html
Так /getRooms?order_by=-price,+rating
или это делает это более запутанным, поэтому я должен просто придерживаться ASC
а также DESC
?
Задача ещё не решена.
Других решений пока нет …