1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/erupt-zeta-api

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ZetaAPI

Проект представляет собой

SQL + XML для быстрого создания API-интерфейсов и использования документации. Разработка происходит быстро, как молния!

Особенности фреймворка:

  1. Простая конфигурация с богатыми функциями.
  2. Поддержка кэширования с помощью атрибутов XML-тегов. По умолчанию используется Caffeine, но можно настроить и другой механизм кэширования.
  3. Поддержка условных операторов if для обработки сложных сценариев.
  4. Возможность создания собственных перехватчиков запросов для изменения выражений и результатов.
  5. Динамическое создание документации API на основе конфигурации XML. Поддерживается онлайн-тестирование.
  6. Поддержка горячего обновления XML без необходимости перезапуска контейнера.
  7. Поддержка тегов link для выполнения нескольких SQL-запросов за один запрос.
  8. Поддержка настройки белого списка IP-адресов.

Использование:

  1. Создайте проект Spring Boot.
  2. Импортируйте зависимости:
<dependency>
    <groupId>xyz.erupt</groupId>
    <artifactId>zeta-api</artifactId>
    <version>0.5.5</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
  1. Настройте подключение к базе данных и драйвер базы данных.
  2. Создайте файл конфигурации XML: /resources/epi/xxx.xml.
  3. Пример файла XML:
<?xml version="1.0" encoding="utf-8" ?>
<zeta desc="zeta接口示例">
    <hello-world title="基础使用">
        select 'hello world' key
    </hello-world>
    <cache title="Использование кэша (единица кэша — миллисекунды)" cache="5000">
        select 'cache' cache,now() now
    </cache>
    <params title="Получение и обработка параметров">
        <param key="param" default="hello zeta"/>
        select :param param
    </params>
    <condition title="Обработка условий">
        <param key="param" title="Числовой параметр"/>
        select
        <if test="param&gt;10">
            'gt 10' param_status
        </if>
        <if test="param&lt;10">
            'lt 10' param_status
        </if>
        <if test="param==10">
            'eq 10' param_status
        </if>
    </condition>
    <insert title="Вставка данных">
        <param key="content" title="Содержание"/>
        insert into demo(content) values (:content)
    </insert>
    <links title="Одновременное выполнение нескольких SQL">
        select 'hi' hi
        <link id="now">
            select now() now;
        </link>
        <link id="second">
            select 'Результат выполнения второй SQL' result;
        </link>
    </links>
</zeta>

Запустите проект и просмотрите документацию по интерфейсу: http://localhost:8080/zeta-doc/xml文件名.html. Демонстрационная документация: http://localhost:8080/zeta-doc/$demo.html

img img img

Описание параметров в application.yml:

zeta-api:
  #Следует ли читать конфигурацию XML в горячем режиме. Не рекомендуется включать эту функцию в рабочей среде.
  hotReadXml: true
  #Включить ли функцию кэширования
  enableCache: true
  #Включить ли функцию документации по API
  enableApiDoc: true
  #Путь к пользовательскому обработчику кэша. Необходимо реализовать интерфейс xyz.erupt.zeta_api.handler.ZetaCache.
  cacheHandlerPath: xyz.erupt.xxxx
  #Выводить ли SQL-запросы
  showSql: true
  #Белый список доступа. Пустое значение означает отсутствие проверки IP.
  ipWhite:
    - 127.0.0.1
    - 192.168.1.1
    - 192.168.1.187

Пример запроса интерфейса:

// jquery в качестве примера
$.ajax({
    type: "POST",
    url: "/zeta-api/sql/{file}/{name}",
    contentType: "application/json",    //Запрос должен быть в формате JSON.
    data: JSON.stringify({ param: 10}), //Необходимо использовать JSON.stringify.
    success: function (res) {
        alert(res);
    }
});

Рекомендации по проекту:

Erupt Framework — универсальная платформа управления данными. Репозиторий: https://github.com/erupts/erupt Веб-сайт: https://www.erupt.xyz

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Через XML-конфигурацию раскрыть API-интерфейс, динамически создать документацию по API. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/erupt-zeta-api.git
git@gitlife.ru:oschina-mirror/erupt-zeta-api.git
oschina-mirror
erupt-zeta-api
erupt-zeta-api
master