/DemoAPI

Пример проекта для ООО КБ Смоленский Банк

Primary LanguagePHP

DemoAPI

Пример проекта для ООО КБ Смоленский Банк

Описание

Это пример реализации API для своего веб-приложения. API осуществляет проверку входящих запросов и, если данные верны, выдает ответ в формате JSON. Пример предназначен для обмена данными с API используя внешний сервер, но есть и клиентский пример.

Установка

Для запуска примера и его настройки нужно сделать следующее:

  1. Скачать и распаковать архив с кодом и примерами.
  2. Загрузить содержимое в любую удобную директорию на сервере.
  3. Изменить параметры доступа к БД в файле config.php
  4. Для ручной установки тестовой sql-таблицы используйте dump.api.sql.
  5. Перед запуском примера example.php нужно указать полный URL до api.php в переменной $API_URL
  6. Запустить браузер и обратиться по адресу: http://your_url_here/example.php

Если все сделано правильно, на экране появится json-ответ из API.

Дополнительно я подготовил и другие примеры: example2.php, ajax.html

Структура проекта

После распаковки архива структура файлов и директорий следующая:

  • api.php - ядро API. Здесь происходит проверка входящих данных и отсюда же уходит ответ, если все условия TRUE
  • api.utils.php - вспомогательные функции для проверки данных
  • config.php - конфиг базы данных
  • demo.data.php - подготовленные ответы для API, которые выдаются по запросу в зависимости от входящих параметров
  • example.php - пример посылает подписанный запрос API с методом getUserInfo (есть еще getUserOnline и getServerTime)
  • example2.php - пример того, как можно визуализировать json-данные в своем шаблоне.
  • ajax.html - вывод данных полученных от API в обычном alert();
  • pdo/ - здесь лежит класс для работы с БД посредством PDO
  • pdo/class.db.php - вот, кстати, и сам класс
  • pdo/error.css - таблица стилей для вывода ошибок
  • themengn/ - директория шаблонизатора
  • themengn/templates.class.php - класс шаблонизатора
  • demo/ - в этой директории расположен пример шаблона, который используется в example2.php
  • demo/images - картинки
  • demo/styles.css - стили
  • demo/userinfo.html - шаблон

Дополнения

Вот так все работает на моем сервере:

Серверные запросы:

Клиентский запрос:

Прямой GET запрос: