sudo docker-compose run db bash
psql --host=db --username=postgres
pass: 1805
\connect avito_db
docker-compose build
docker-compose up
Реализовано:
- Пагинация: на одной странице 10 объявлений;
- Cортировки: по цене (возрастание/убывание) и по дате создания (возрастание/убывание). По умолчанию стоит сортировка по возрастанию цены. Для выбора других сортировок в параметры передать "sort=update_desc", "sort=price", "sort=price_desc".
- Поля в ответе: название объявления, ссылка на главное фото, цена. Ответ выводится в виде JSON.
- Поля в ответе: название объявления, цена, ссылка на главное фото;
- Передав ключ в параметры url "fields": описание, ссылки на все фото.
- Принимает значения: название, описание, ссылки на фото (не более 3), цена;
- Возвращает ID созданного объявления и код результата (ошибка или успех).
curl -X GET "http://localhost:9000/ad?page=1&sort=price"
curl -X GET "http://localhost:9000/find?id=1&fields"
{"id":1,"price":23,"name":"синий","description":"красивый синий","image":["https://images.app.goo.gl/yoP6Yc7iPZQsGA858","https://images.app.goo.gl/BVk7Nho7LeRDiJcV8"],"update":"2021-02-03"}
curl -X GET "http://localhost:9000/find?id=1"
{"id":1,"price":23,"name":"синий","image":["https://images.app.goo.gl/yoP6Yc7iPZQsGA858"],"update":"2021-02-03"}
curl -X GET "http://localhost:9000/find?id=2" {}
{"id":2,"status":201}
{"Err":{},"Code":400,"Name":"Количество ссылок не должно превышать 3"}