У нас есть следующий API, чтобы получить список всех версий автомобилей в нашей базе данных.Конкретная версия может иметь несколько вариантов цвета.
GET /api/versions/
[
{
"id": 1,
"colors": [{"name":"red", "hex": "#ff0000"},{{"name":"blue", "hex": #0000ff}}], //array of colors of that version
"price": 10000
},
{
"id": 2,
"colors": [{"name":"red", "hex": "#ff0000"},{{"name":"blue", "hex": #0000ff}}], //array of colors of that version
"price": 20000
},
...
]
Клиент хочет, чтобы API получал НЕ ВСЕ, а данные нескольких версий и только поле цвета.Каким должен быть URI для такого требования?Я думал о чем-то похожем ниже, но я не уверен:
Чтобы получить цвета версий 8 и 9:
GET /api/versions/?fields=colors&id=8,9
[
{
"id": 8,
"colors": [{"name":"tui", "hex": "#gg0000"},{{"name":"rie", "hex": #or0000}}], //array of colors of that version
},
{
"id": 9,
"colors": [{"name":"rie", "hex": "#or0000"},{{"name":"tui", "hex": #gg0000}}], //array of colors of that version
}
]
Обратите внимание: У меня здесь слишком упрощенные вещи.Ответ версии довольно сложен и содержит много других полей, кроме идентификатора, цвета и цены, упомянутых выше.Кроме того, мы получим несколько таких требований, как мы предъявляем к цвету в настоящее время, т.е. чтобы получить цену для нескольких версий.