README.md

Сервис для хранения и подачи объявлений AdZone

Сервис предоставляет API, работающее поверх HTTP в формате JSON

Общая информация:

  • Язык программирования Python
  • 3 метода: получение списка объявлений, получение одного объявления, создание объявления
  • Валидация полей: не больше 3 ссылок на фото, описание не больше 1000 символов, название не больше 200 символов

Детали

Метод получения списка объявлений

  • Пагинация: на одной странице присутствует 10 объявлений; GET http://127.0.0.1:8000/api/product/
  • Cортировки: по цене (возрастание/убывание) и по дате создания (возрастание/убывание);
  • Поля в ответе: название объявления, ссылка на главное фото (первое в списке), цена.
    {
        "name": "Product Name",
        "photo_link1": "",
        "price": "9.99"
    }

Метод получения конкретного объявления

  • Обязательные поля в ответе: название объявления, цена, ссылка на главное фото; GET http://127.0.0.1:8000/api/product/{id}/
{
    "name": "Toy",
    "photo_link1": "",
    "price": "9.99"
}
  • Опциональные поля (можно запросить, передав параметр fields): описание, ссылки на все фото.
  • GET http://127.0.0.1:8000/api/product/{id}/ body { "fields" : "description, all_photos" }
{
    "name": "Toy",
    "price": 9.99,
    "main_photo": null,
    "description": "Product Description",
    "all_photos": [
        null,
        null
    ]
}
  • GET GET http://127.0.0.1:8000/api/product/{id}/ body {} { “name”: “Toy”, “price”: 9.99, “main_photo”: null }

Метод создания объявления:

  • Принимает все вышеперечисленные поля: название, описание, несколько ссылок на фотографии (сами фото загружать никуда не требуется), цена;
  • Возвращает ID созданного объявления и код результата (ошибка или успех).

Юнит тестирование

  • Покрытие 70%
Конвейеры
0 успешных
0 с ошибкой