# Packages
# README
gb rest full api 
RESTful API (API передачи репрезентативного состояния) — это тип архитектуры веб-сервиса, который использует HTTP-запросы для выполнения операций CRUD (создание, чтение, обновление, удаление) над ресурсами.
Описание
GB RESTfull API был разработан под специальцно спроектированную базу, которая имеет несколько сущеностей с ограничениями и зависимости между ними, что позволяет обеспечить целостность данных. Так же важно подметить что проект предпологает автоидексацию сущностей, при реализации вставки отствует поле id, которая в базе имеет тип serial.
Как можно заметить в качестве тематики используется, предприятие по продаже гроубоксов-специализированных палаток для выращивания растений расщитанные на размещение в закрытых помещения, будто огромный ангар или собственная квартира. Сама база воссоздана при помощи PostgreSQL. В самом проекте реализованы следующие http-запросы:
Endpoints
- GET api/GrowBox/ - выдача всех гроубоксов
- GET api/GrowBox/id - выдача гроубокса по индексу
- PATCH api/GrowBox/id - замена по индексу
- POST api/GrowBox/ - добавление
- DELETE api/GrowBox/id -удаление
В будущем
- Привязка к интерфесу
- Добавление новых http-запросов
- Редактирование и исправления ошибок
- Реализация фильтрации
- Осуществление авторизации
- Кэширование
В дальнейшем все выше описанное будет не раз редактироватся дополнятся
Далее нужно настроить подключение к базе.
Техническая составляющая
Необходимо открыть файл database.go папку config:
cd config
И в той части когда где инициализируются константы надо задать те данные которые используются для работы с самой субд, значения могут разнится, ниже приведен пример таких значений:
const (
host = "localhost"
port = "1234"
user = "postgres"
password = "123456"
dbName = "postgres"
)
Пакеты
При работе проекта используются определенные пакеты, при желании можно поменять на те которые более удобные пользователю. Ниже представлена таблица с их наименование и описанием
Название | Описание |
---|---|
HttpRouter | маршрутизатор HTTP-запросов также называемый мультиплексором |
pq | драйвер posgresql, для взаимодествия с субд |
log | используется для вывода полноформатного сообщения, сигнализирующая работу запущенного сервера |
Cпецификация запроса на создание сущности
{
"namebox": "",
"description": "",
"count_fans": 0,
"filtration": false,
"dimensions":0,
"Automation":false
}