Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PostgREST. Как быстро создать RESTful API

Evgeniy
October 21, 2015

PostgREST. Как быстро создать RESTful API

Николай Самохвалов: PostgREST. Как быстро создать RESTful API - 2015.10.14 PostgreSQLRussia.org meetup in Yandex office

Evgeniy

October 21, 2015
Tweet

More Decks by Evgeniy

Other Decks in Technology

Transcript

  1. Идея: ⋄ знание о схеме БД (системные каталоги, INFORMATION SCHEMA)

    → автоматическое создание RESTful HTTP API ⋄ избавиться от «толстого» middleware, минимизировать маршаллинг данных ⋄ унифицировать протокол общения (JSON) между сервером и различными клиентами (Web app, Mobile apps, browser extensions, etc)
  2. Шаг 2. Освежите знания HTTP/1.1 • PUT vs POST vs

    PATCH • Accept, Range, etc • HTTP Auth «Поиграться»: https://www.publicapis.com/, http://www.programmableweb.com/apis/directory
  3. Шаг 3. Установите PostgREST - Скачайте и запустите: ./postgrest --db-host

    localhost --db-port 5432 \ --db-name my_db --db-user postgres \ --db-pass foobar --db-pool 200 \ --anonymous postgres --port 3000 \ --v1schema public - Или поставьте в облаке Heroku https://github.com/begriffs/postgrest-heroku
  4. Сам API - Основа — представления (могут быть updatable) в

    схеме (начинаем со схемы "1") - При вызове: Accept: application/json; version=1 - Примеры вызовов: GET /people GET /people?age=lt.18 GET /people?age=lt.18&is_male=eq.true GET /people?order=age.desc,height.asc GET /stuff?some_json_col->a->>b=eq.2
  5. Советы - Используйте средство для миграций схем БД - sqitch

    http://sqitch.org/ – хорош (TDD included!) - sem https://github.com/mbryzek/schema-evolution-manager – выбор Олега Царёва :) - Используйте SSL - Пересмотрите ограничения целостности - Аккуратнее с PATCH! - Не бойтесь Haskell ;)
  6. Русскоязычное PostgreSQL-сообщество Присоединяйтесь СЕЙЧАС! • http://PostgreSQLRussia.org • Gitter-чат: http://postgres.chat •

    Twitter: @postgresmen • Youtube-канал PostgreSQLRussia • http://facebook.com/groups/PostgreSQL • Встречи • Конференции • Опросы • Обмен опытом
  7. АНОНСЫ 2015.11.03 — #PostgreSQLRussia в Mail.ru Тема: Миграция с Oracle

    на Postgres - Bruce Momjian - опыт крупных российских компаний - экспертное мнение от PostgresPro и PostgreSQL-Consulting - трансфер от Крокуса для тех, кто идёт на Highload++ :-) 3-5 февраля 2016 — PgConf.ru (Москва) Лето 2016 — PgDay.ru (СПб)
  8. Действует только для участников PostgreSQLRussia.org PostgreSQL-Consulting.com: Администрирование, тюнинг, обучение Скидка

    15% (с 8.09.2015 по 15.10.2015) — кодовое слово MEETPG15 OKmeter.io: умный онлайн-мониторинг Linux-серверов с установкой за 1 минуту Скидка 20% (с 8.09.2015 по 08.03.2016) — кодовое слово OKPOSTGRES Highload++: лидирующая технологическая конференция, 2000 участников, много докладов по PostgreSQL, 2 и 3 ноября 2015 Скидка 10% — кодовое слово OnlyPostgreSQL Партнёры