【一】介绍
- Starlette 是个什么项目;
- IDE 开发时 Python 3.5+ 版本的 "type hints" 的好处:简短、直观和标准的 Python 类型声明;
- 介绍 Pydantic 包,FastAPI 项目的开发为什么要使用 Pydantic
【二】Starlette
【1】介绍
- Starlette 是一种轻量级的 ASGI 框架/工具包,是构建高性能 Asyncio 服务的理想选择
- Starlette 是一个轻量级的异步Web框架,用于构建高性能、可扩展和易维护的Web应用程序,特别适用于Python的异步编程环境。
【2】特点
1. 异步支持: Starlette是基于Python的asyncio
库构建的,因此完全支持异步编程。这使得它在处理高并发和I/O密集型任务时表现出色,特别适用于构建实时Web应用、API、聊天应用等。
2. 轻量级: Starlette的设计目标之一是保持简单和轻量级。它提供了一组基本但强大的工具,以便于构建Web应用,而无需引入过多的复杂性或不必要的功能。
3. 中间件支持: Starlette支持中间件,允许你在请求和响应处理流程中添加自定义功能。这使得你可以轻松地添加认证、日志记录、异常处理等功能,以满足应用程序的需求。
4. 路由系统: Starlette提供了灵活的路由系统,可以根据URL模式将请求路由到相应的处理函数。这使得你能够定义RESTful API、网页路由等,以构建多样化的应用。
5. 异常处理: Starlette内置了异常处理机制,可以捕获和处理应用程序中的异常。这有助于提高应用的稳定性和可维护性。
6. WebSocket支持: Starlette支持WebSocket协议,允许你构建实时双向通信的应用程序,如聊天室、通知系统等。
7. 内置服务器支持: Starlette可以与ASGI(Asynchronous Server Gateway Interface)服务器一起使用,例如Uvicorn和Hypercorn,以便部署和运行应用程序。
8. 大量扩展库: Sta