https://github.com/zelflod/classifieds-api
Classifieds JSON API
https://github.com/zelflod/classifieds-api
docker golang postgres
Last synced: 2 months ago
JSON representation
Classifieds JSON API
- Host: GitHub
- URL: https://github.com/zelflod/classifieds-api
- Owner: zelflod
- Created: 2020-01-10T23:22:59.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-15T11:17:33.000Z (over 6 years ago)
- Last Synced: 2025-01-11T11:46:15.569Z (over 1 year ago)
- Topics: docker, golang, postgres
- Language: Go
- Homepage:
- Size: 10.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Classifieds JSON API
Run:
- `docker-compose up`
Using Dockerfile:
- собрать контейнер `sudo docker build -t nozimdev/classifieds-api .`
- запустить контейнер `sudo docker run -p 5000:5000 --name classifieds-api -t nozimdev/classifieds-api`
- остановить работу контейнера `docker stop classifieds-api`
- удалить контейнер `docker rm classifieds-api`
### GET /api/items
Метод получения списка объявлений
Параметры:
- `sort` : date | price
- `desc`: true | false
- `page`: [0-9]+
Пример запроса:
```
curl -X GET \
'http://localhost:5000/api/items?desc=true&sort=price&page=1' \
-H 'Accept: */*' \
-H 'Accept-Encoding: gzip, deflate' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Host: localhost:5000' \
-H 'cache-control: no-cache'
```
### GET /api/item/:id
Метод получения конкретного объявления
Параметры:
- `fields`: [description,photos]
Пример запроса:
```
curl -X GET \
'http://localhost:5000/api/item/1?fields=description,photos' \
-H 'Accept: */*' \
-H 'Accept-Encoding: gzip, deflate' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Host: localhost:5000' \
-H 'cache-control: no-cache'
```
### POST /items
Метод создания объявления
Body:
- name: string
- price: float
- photos: string[]
- description: string
Пример запроса:
```
curl -X POST \
http://localhost:5000/api/items \
-H 'Accept: */*' \
-H 'Accept-Encoding: gzip, deflate' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Length: 185' \
-H 'Content-Type: application/json' \
-H 'Host: localhost:5000' \
-H 'cache-control: no-cache' \
-d '{
"name":"продается квартира 1м 23",
"description":"писание продается квартира 1м",
"price": 100,
"photos": ["image1.png", "image2.png"]
}'
```