Categorygithub.com/vldmirr/gb_restfull_api
repositorypackage
0.0.0-20240701114021-758aa35f0dd7
Repository: https://github.com/vldmirr/gb_restfull_api.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

gb rest full api Build Status

RESTful API (API передачи репрезентативного состояния) — это тип архитектуры веб-сервиса, который использует HTTP-запросы для выполнения операций CRUD (создание, чтение, обновление, удаление) над ресурсами.

Описание

GB RESTfull API был разработан под специальцно спроектированную базу, которая имеет несколько сущеностей с ограничениями и зависимости между ними, что позволяет обеспечить целостность данных. Так же важно подметить что проект предпологает автоидексацию сущностей, при реализации вставки отствует поле id, которая в базе имеет тип serial.

Как можно заметить в качестве тематики используется, предприятие по продаже гроубоксов-специализированных палаток для выращивания растений расщитанные на размещение в закрытых помещения, будто огромный ангар или собственная квартира. Сама база воссоздана при помощи PostgreSQL. В самом проекте реализованы следующие http-запросы:

Endpoints

  1. GET api/GrowBox/ - выдача всех гроубоксов
  2. GET api/GrowBox/id - выдача гроубокса по индексу
  3. PATCH api/GrowBox/id - замена по индексу
  4. POST api/GrowBox/ - добавление
  5. 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
}