Skip to content

sov-87/db-turnout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

db-turnout

Библиотека позволяет предоставлять доступ к СУБД посредством HTTP-запросов.

Сделано на Sinatra

Используется в приложениях как прослойка. Пример использования в приложении на Sinatra:

use TablesController, { prefix: <префикс>, postprocess_block: <блок кода для обработки результатов перед формированием ответа> }
use ProceduresController, { prefix: <префикс>, postprocess_block: <блок кода для обработки результатов перед формированием ответа> }

Формирование SQL-запросов производится с помощью AREL

Разрешены методы GET, POST, PUT, DELETE и типы mime json, xml. Параметры запроса позволяют управлять ограничениями, списком выбора и сортировкой. Для запросов POST, PUT данные должны передаваться в теле запроса в формате, соответствующем типу mime запроса.

Соответствие параметров строки запроса структурам данных ruby:

x=<значение> - строка
x[]=<значение> - [<значение>]
x[value]=<значение> - { value: <значение> }
x[]=<значение1>&x[value]=<значение2> - некорректная комбинация

Формирование списка выбора

За список выбора отвечает параметр s. Примеры

tables/table_name
SELECT * FROM table

tables/table_name?s=name
SELECT name FROM table

tables/table_name?s[]=name&s[]=t
SELECT name, t FROM table

tables/table_name?s[name]=new_name&s[t]=t1
SELECT name AS new_name, t AS t1 FROM table

Управление сортировкой

За сортировку отвечает параметр o. Примеры

tables/table_name?o=name
SELECT * FROM table ORDER BY name asc

tables/table_name?o[]=name&o[]=t
SELECT * FROM table ORDER BY name asc, t asc

tables/table_name?s[name]=desc&s[t]=asc
SELECT * FROM table ORDER BY name desc, t asc

Задание ограничений

За ограничения отвечает параметр q. Наименования параметров могут быть или предикатами условий AREL, или логическими операторами. Параметры обрабатываются в том порядке, в котором встречаются в строке запроса. Параметр может содержать вложенные значения для ключей and и or. Параметры на первом уровне трактуются как значения ключа со значением AND.

Более подробные примеры можно посмотреть здесь: Примеры

Вызов процедур

Процедуры вызываются по ссылкам вида /procedures/procedure_name

Параметры передаются или в строке, или в теле запроса в виде массива. Параметры, представляющие из себя объекты, будут переданы в процедуру как xml.

About

turnout database to http

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages