Skip to content

Julimouche/accelerator-guitar-shop-api

 
 

Repository files navigation

Accelerator Guitar Shop API

ULR: https://accelerator-guitar-shop-api-v1.glitch.me

Структуры данных

Guitar

{
  "id": 1,
  "name": "Честер Bass",
  "vendorCode": "SO757575",
  "type": "electric",
  "description": "Вариант для настоящих профессионалов. Двенадцатиструнный инструмент оснащён карбоновыми струнами и корпусом из массива ели.",
  "previewImg": "img/guitar-1.jpg",
  "stringCount": 7,
  "rating": 4,
  "price": 17500
}

Comment

{
    "id": "a7c267d0-a72d-41bd-8b8e-e7f67800d58a",
    "userName": "Саша",
    "advantage": "Хорошо. Очень хорошо.",
    "disadvantage": "Плохо. Очень плохо.",
    "comment": "Неплохо, но дорого.",
    "rating": 3,
    "createAt": "2021-10-28T12:32:16.934Z",
    "guitarId": 1
}

CommentPost

{
    "guitarId": 1,
    "userName": "Артём",
    "advantage": "Рекомендую!",
    "disadvantage": "Покрытие.",
    "comment": "Хорошая гитара для начинающих, сделана качественно. Лучше за эти деньги не найти.",
    "rating": 3,
}

CouponPost

{
  "coupon": "light-333"
}

Значение coupon одно из следуюих значений: light-333, medium-444 или height-555.

OrderPost

{
  "guitarsIds": [1, 4],
  "coupon": "light-333"
}

// or

{
  "guitarsIds": [1, 4],
  "coupon": null
}

Значение coupon должно быть одно из валидных значений CouponPost.

Список роутов

  • GET /guitars – получить список гитар.
  • GET /guitars/1 – получить гитару по идентификатору id.
  • GET /guitars/1/comments– получить коментарии гитары по идентификатору id.
  • POST /comments – отправить новый комментарий.
  • POST /coupons – отправить купон. Если купон валидный, роут возвращает процент скидки.
  • POST /orders – отправить новый заказ.

Query-параметры

Фильтры, сортировка и другие query-параметры можно использовать с любым ключем, который есть в любой сущности. В примерах, возле каждого query-параметра только примеры. Их можно добавлять на любой ключ.

Фильтр

GET /guitars?name=СURT
GET /guitars?type=electric
GET /guitars?name=СURT&type=electric

Сортировка

_sort и _order (desc или asc. asc по-умолчанию)

GET /guitars?_sort=price
GET /guitars?_sort=rating&_order=asc

Диапазон

_start, _end или _limit (X-Total-Count заголовок включен в ответ)

GET /guitars?_start=10&_end=20
GET /guitars?_start=20&_end=30
GET /guitars?_start=20&_limit=10

Работает в точности как Array.slice

Операторы

_gte или _lte для получения в диапазоне

GET /guitars?price_gte=20000&price_lte=30000

_like для частичной схожести

GET /guitars?name_like=Bass

Связи

_embed для добавления связей

GET /guitars?_embed=comments
GET /guitars/1?_embed=comments

Получить вложенные связи

GET  /guitars/1/comments

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 90.2%
  • HTML 9.6%
  • Shell 0.2%