«Это 14-й день моего участия в первом испытании обновлений 2022 года. Подробную информацию о мероприятии см.:Вызов первого обновления 2022 г.".
предисловие
Недавно я нашел так называемый высокопроизводительный процессор следующего поколения.Apiсредства разработки, этоHug.
по сравнению сDjango、Flask、FastApiЖдатьApiИнструменты разработки,HugКаковы особенности и преимущества?
Сегодня вместе посмотрю.
О объятиях
HugПо своей сути он значительно упрощаетApiразвития, по сравнению сFlaskПроще.
Первоначальный замысел Hug
- позволять
ApiЧрезвычайно прост в разработке - Поощряйте программистов писать самодокументирующийся код
- Быстро, поэтому разработчики не выбирают другие фреймворки для повышения производительности.
- в соответствии с
Hug ApiНаписание тестов также становится проще - Решайте проблемы во фреймворке, а не в пользователе
- новое поколение
Apiоснова технологии
В результате
Hugна основеFalconвысокая производительностьHTTPфреймворк, поддерживается толькоPython@3
Практика (посмотрите, как это просто)
Установить обнять
pip install hug --upgrade
demo
код
запустить службу
Hugлокально8000Порт запускает для нас сервер разработки, и мы получаем доступhttp://localhost:8000увидеть эффект
вздох,
So Easy!
пасхальные яйца
Выше мы определилиhappyNewYearметоды привязаны к корневому пути,HugПозволяет нам не связывать пути.
дефолт,
Hugавтоматически после того, как мы изменим кодReload.
Код (просто удалите параметр пути декоратора)
доступhttp://localhost:8000Эффект
Хотя путь не определен, ноHugоказал нам дружеское404, и сообщить вам о путях, к которым вы можете получить доступURI, метод запроса, пример и вывод.
мы пытаемсяHugПриглашение изменить путь запросаhttp://localhost:8000/happyNewYearЭффект увидите позже
Конечно, определенные пути и неопределенные пути нельзя смешивать в одном и том же методе.
параметр пути
и большинствоApiКак и фреймворк, эти основные функции поддерживаются.В этой статье мы используем толькоHugИспользование параметра пути показано как репрезентативное.
код
Эффект
Управление версиями API
существуетHugОчень просто и удобно управлять и определять версию интерфейса вHugв декоратор добавленоversionпараметры.
код
Эффект
Как и выше, используя
HugМы можем легкоApiномер версии для управления и рефакторинга.
Тестовые API объятий
Мы сказали вышеHugПомимо упрощения разработки, это также может упростить тестирование, теперь мы используем его вместе.HugтестироватьHug.
тестовый код
import hug
import demo
from hug import HTTP_200
def testHpny():
'''
@api_or_module: Api模块,即api文件
@url: 即Url,去除host和port的部分
'''
resp = hug.test.get(api_or_module=demo,url='/v1/Python研究所的朋友们')
# 打印影响状态和响应数据
print(resp.status,resp.data)
# 断言
assert resp.status == HTTP_200
assert resp.data != None
if __name__ == '__main__':
testHpny()
выполнить тест
Hugне только будетApiразвитие становится легче, а такжеApiИнтегрирована тестовая интеграция, что действительно позволяет разработчикам быстро разрабатывать качественныеApi.
Ссылаться на:hugapi.github.io/hug/