Hug | 下一代高性能Api开发工具

简介: Hug | 下一代高性能Api开发工具

网络异常,图片无法展示
|


前言


最近啊,我发现了一款号称是下一代高性能的 Api 开发工具,它就是 Hug

相比 Django、Flask、FastApiApi 开发工具,Hug 到底有何特点和优势呢?

今天我就一起来看上一看。


关于 Hug


Hug 的核心就是极大地简化 Api 的开发,对比 Flask 更加简单。


Hug 的初衷


  • Api 开发极其简单
  • 鼓励程序员编写自我记录的代码
  • 快,让开发人员不会因为性能而选择其他框架
  • 根据 Hug Api 写测试也会变得简单
  • 将问题在框架中解决,而不是让用户去解决
  • 称为下一代 Api 技术的基础


结果就是,Hug 基于 Falcon 的高性能 HTTP 框架,仅支持 Python@3


实践(看看有多简单)


安装 Hug


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 的版本号进行管理和重构。


测试 Hug 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/

相关文章
|
1月前
|
SQL 缓存 测试技术
构建高性能RESTful API:最佳实践与避坑指南###
—— 本文深入探讨了构建高性能RESTful API的关键技术要点,从设计原则、状态码使用、版本控制到安全性考虑,旨在为开发者提供一套全面的最佳实践框架。通过避免常见的设计陷阱,本文将指导你如何优化API性能,提升用户体验,确保系统的稳定性和可扩展性。 ###
61 12
|
2月前
|
中间件 Go API
使用Go语言构建高性能RESTful API
在现代软件开发中,RESTful API因其简洁和高效而成为构建网络服务的首选。Go语言以其并发处理能力和高性能著称,是开发RESTful API的理想选择。本文将介绍如何使用Go语言构建RESTful API,包括基础的路由设置、中间件的使用、数据验证、错误处理以及性能优化。通过实际代码示例,我们将展示Go语言在API开发中的强大功能和灵活性。
|
1月前
|
JSON 测试技术 API
ES API,使用Kibana的开发工具用例说明
ES API,使用Kibana的开发工具用例说明
34 0
|
3月前
|
Go API 开发者
深入探讨:使用Go语言构建高性能RESTful API服务
在本文中,我们将探索Go语言在构建高效、可靠的RESTful API服务中的独特优势。通过实际案例分析,我们将展示Go如何通过其并发模型、简洁的语法和内置的http包,成为现代后端服务开发的有力工具。
|
2月前
|
消息中间件 缓存 API
构建高性能RESTful API的策略与实践
构建高性能RESTful API的策略与实践
42 0
|
4月前
|
缓存 API 数据库
打造高性能后端API:从设计到部署的实战之旅
【8月更文挑战第31天】在数字化时代的浪潮中,后端API成为了连接用户、数据与服务的桥梁。本文将带领读者踏上一段从API设计、开发到部署的旅程,通过实际案例分析,揭示如何构建一个高性能的后端系统。我们将探讨现代后端架构的关键要素,包括RESTful API设计原则、数据库优化技巧、缓存策略、以及容器化部署的实践。文章旨在为开发者提供一套实用的方法论,帮助他们在面对复杂业务需求时,能够设计出既高效又可扩展的后端服务。
|
4月前
|
UED 存储 自然语言处理
【语言无界·体验无疆】解锁Vaadin应用全球化秘籍:从代码到文化,让你的应用畅游世界每一个角落!
【8月更文挑战第31天】《国际化与本地化实战:构建多语言支持的Vaadin应用》详细介绍了如何使用Vaadin框架实现应用的国际化和本地化,提升用户体验和市场竞争力。文章涵盖资源文件的创建与管理、消息绑定与动态加载、日期和数字格式化及文化敏感性处理等方面,通过具体示例代码和最佳实践,帮助开发者构建适应不同语言和地区设置的Vaadin应用。通过这些步骤,您的应用将更加灵活,满足全球用户需求。
67 0
|
4月前
|
API 数据库 UED
全面解析构建高性能API的秘诀:运用Entity Framework Core与异步编程提升Web应用响应速度及并发处理能力的详细指南与实践案例
【8月更文挑战第31天】本文详细介绍了如何利用 Entity Framework Core (EF Core)的异步编程特性构建高性能 API。通过创建基于 EF Core 的 .NET Core Web API 项目,配置数据库上下文,并定义领域模型,文章展示了如何使用异步方法进行数据查询、加载相关实体及事务处理。具体代码示例涵盖了 GET、POST、PUT 和 DELETE 操作,全面展示了 EF Core 异步编程的优势,有助于提升 API 的响应速度和处理能力。
62 0
|
4月前
|
缓存 JavaScript API
构建高性能后端API:从理论到实践
【8月更文挑战第31天】 在数字化浪潮的推动下,后端API的性能成为影响用户体验和应用响应速度的关键因素。本文将带你深入理解高性能API的设计原则和实现方法,通过具体的代码示例展示如何优化API性能,确保你的后端服务能够快速、稳定地处理大量请求。
|
6月前
|
JSON 安全 API
实战指南:使用PHP构建高性能API接口服务端
构建RESTful API的简要指南:使用PHP和Laravel,先安装Laravel并配置数据库,接着在`api.php`中定义资源路由,创建`PostController`处理CRUD操作,定义`Post`模型与数据库交互。使用Postman测试API功能,如创建文章。别忘了关注安全性、错误处理和性能优化。
163 2