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

OSCHINA-MIRROR/wangankeji-restfx

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

restfx

Python3 RESTful сервисного фреймворка.

Основан на werkzeug

Почему использовать этот фреймворк

Цель разработки этого фреймворка — повышение производительности разработки. Этот фреймворк решает следующие проблемы:

  • Отсутствие сложных настроек маршрутов, регистрация маршрутов не требуется. Необходимо только зарегистрировать корневой модуль, и все маршруты внутри модуля будут автоматически собраны и вызваны
  • Не требуется явное указание маршрутов URL, полная автоматическая разборка
  • Автоматическое разбор и валидация параметров запроса, заполнение их в функции маршрута, что позволяет избежать сложных операций получения параметров и проверки типов. Необходимо только написать функцию и указать типы параметров
  • Предоставление страницы списка интерфейсов и поддержка тестирования интерфейсов, что позволяет обновлять интерфейсы вместе с кодом, без необходимости ручного поддержания документации API. См. скриншоты
  • Поддержка [инжекции маршрутов][2], что позволяет передавать данные/функции в маршруты через параметры, что позволяет избежать частых import и повторяющегося кода Недостатки этого фреймворка: не поддерживает использование параметров как части URL маршрута

Установка

pip install restfx

Since 0.7.1Установка позволяет использовать CLI-инструментrestfx` для создания базовой структуры проекта:

restfx create projectname

Использование этой команды может потребовать установки restfx в глобальной среде.

Документация

Инструкции по использованию доступны на [Gitee Wiki][1]

Создание приложения

import os
import restfx
if __name__ == '__main__':
    root = os.path.dirname(__file__)
    app = restfx.App(root, api_prefix='any/prefix', debug=True)
    app.map_routes({
        'x': 'test'
    })
    app.map_static(static_map={})
    app.startup(host='127.0.0.1', port=9127)

Создание маршрутов

test/api/demo.py

from restfx import route
from restfx.http import HttpRequest, HttpFile

@route(module='测试名称-模块', name='测试名称-GET')
def get(request, param1, param2=None, param3: int = 5):
    # request будет HttpRequest
    return {
        'param1': param1,
        'param2': param2,
        'param3': param3,
    }

@route(module='测试名称-模块', name='测试名称-POST_PARAM')
def get_param(param1, req: HttpRequest, from_=None, param3=5):
    # req будет HttpRequest
    return {
        'param1': param1,
        'from': from_,
        'param3': param3,
    }

@route(module='测试名称-模块', name='测试名称-PUT_PARAM')

Скриншоты

Следующие скриншоты представляют собой список интерфейсов, соответствующие объявления маршрутов находятся в файлах:


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

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

Введение

Фреймворк для RESTful-сервисов на Python3. Развернуть Свернуть
MIT
Отмена

Обновления (24)

все

Участники

все

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

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