【FastAPI】P1 安装与第一个 FastAPI 应用

这篇具有很好参考价值的文章主要介绍了【FastAPI】P1 安装与第一个 FastAPI 应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FastAPI 安装

FastAPI 是用于快速构建 API 的 web 框架,依赖 Python 3.8 及更高版本。使用 pip 命令安装 fastapi

pip install fastapi

安装异步处理 ASGI 的服务器 Uvicorn

pip install "uvicorn[standard]"

补充知识:

Uvicorn 是 ASGI 的一个实现,它基于 Starlette 和 Uvicorn 的异步服务器,能够为 Django、FastAPI 等应用提供高性能的服务。

ASGI 异步处理服务器,通过允许程序在等待某些操作完成时继续执行其他任务,从而提高性能和响应性,减少资源浪费,避免资源闲置。这与同步处理服务器 WSGI 相反。在同步处理中,程序会阻塞,直到所需操作完成才能继续执行。


第一个 FastAPI 应用

创建一个名为 main.py 的文件,其中添加如下代码:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
	return {"Hello": "World"}

运行程序,然后打开命令行输入如下命令以通过 Uvicorn 启动应用:

uvicorn main:app --reload

【FastAPI】P1 安装与第一个 FastAPI 应用,# FastAPI,fastapi

等待片刻后,打开浏览器并访问 http://127.0.0.1:8000 ,可以看到 FastAPI 自动生成的交互式文档,并在根路径 (“/”) 返回的 JSON 响应。

【FastAPI】P1 安装与第一个 FastAPI 应用,# FastAPI,fastapi


代码拆解分析

1. 导入必要的模块和类:

from fastapi import FastAPI

2. 创建 FastAPI 实例:

app = FastAPI()

在这一步,创建了一个 FastAPI 应用的实例,用于定义和管理应用的各个组件,包括路由。

3. 定义根路径 / 的路由操作:

@app.get("/")
def read_root():
	return {"Hello": "World"}

路由操作使用 @app.get("/") 装饰器,表示当用户通过 HTTP GET 请求访问根路径时,将执行 read_root 函数。函数返回一个包含 {"Hello": "World"} 的字典,这个字典会被 FastAPI 自动转换为 JSON 格式并返回给用户。

4. uvicorn 配置并运行 ASGI 应用:

uvicorn main:app --reload

main 是 ASGI 应用的模块,app 是 ASGI 应用对象,--reload 参数表示 Uvicorn 将监视代码变更并自动重启服务器。


以上

2024.2.18文章来源地址https://www.toymoban.com/news/detail-828545.html

到了这里,关于【FastAPI】P1 安装与第一个 FastAPI 应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch:使用 Elasticsearch 矢量搜索和 FastAPI 构建文本搜索应用程序

    在我的文章 “Elastic:开发者上手指南” 的 “ NLP - 自然语言处理及矢量搜索 ”,我对 Elastic Stack 所提供的矢量搜索有大量的描述。其中很多的方法需要使用到 huggingface.co 及 Elastic 的机器学习。这个对于许多的开发者来说,意味着付费使用。在那些方案里,带有机器学习的

    2024年02月11日
    浏览(62)
  • Elasticsearch:使用 Elasticsearch 向量搜索和 FastAPI 构建文本搜索应用程序

    在我的文章 “Elastic:开发者上手指南” 的 “ NLP - 自然语言处理及矢量搜索 ”,我对 Elastic Stack 所提供的矢量搜索有大量的描述。其中很多的方法需要使用到 huggingface.co 及 Elastic 的机器学习。这个对于许多的开发者来说,意味着付费使用。在那些方案里,带有机器学习的

    2024年02月09日
    浏览(56)
  • 【Python】如何在FastAPI中使用UUID标记日志,以跟踪一个请求的完整生命周期

    在分布式系统中,一个请求可能会经过多个服务,每个服务都会生成自己的日志。如果我们只使用普通的日志记录,那么很难将这些日志串联在一起,以至难以跟踪一个请求的完整生命周期。 如果能够使用uuid标记日志,为每个请求生成一个唯一的uuid,且这个日志可以在不同

    2024年02月07日
    浏览(42)
  • MemFire教程|FastAPI+MemFire Cloud+LangChain开发ChatGPT应用-Part2

    上篇文章我们讲解了使用FastAPI+MemFire Cloud+LangChain进行GPT知识库开发的基本原理和关键路径的代码实现。目前完整的实现代码已经上传到了github,感兴趣的可以自己玩一下: https://github.com/MemFire-Cloud/memfirecloud-qa 目前代码主要完成了如下一些基本功能: 使用FastAPI作为Web服务端

    2024年02月14日
    浏览(44)
  • 关于windows上Python3.12.0安装FastAPI入坑指南

    #工作笔记#  先说下起因: 年前兄弟说有个webapi的需求看怎么解决,抽空想到Python比较容易上手,而且FastAPI性能号称拥有可与NodeJS和Go并肩的极高性能。 FastAPI官网注明使用 Python 3.8+ ,而我本机又有从Py3.6到Py3.12的每个大版本,见下图 接着入坑开始了。。。 #问题描述: 1 )

    2024年02月22日
    浏览(50)
  • 毕业设计:Vue3+FastApi+Python+Neo4j实现主题知识图谱网页应用——前言

    资源链接:https://download.csdn.net/download/m0_46573428/87796553 前言:毕业设计:Vue3+FastApi+Python+Neo4j实现主题知识图谱网页应用——前言_人工智能技术小白修炼手册的博客-CSDN博客 首页与导航:毕业设计:Vue3+FastApi+Python+Neo4j实现主题知识图谱网页应用——前端:首页与导航栏_人工智

    2024年02月14日
    浏览(48)
  • 【Fastapi框架】Fastapi的使用和进阶

    原文作者 :我辈李想 版权声明 :文章原创,转载时请务必加上原文超链接、作者信息和本声明。 新建main.py文件, 方式一:命令启动 方式二:在mian.py中加启动代码 http://127.0.0.1:8000/ http://127.0.0.1:8000/items/1 http://127.0.0.1:8000/items/1?q=2 http://127.0.0.1:5678/docs#/ http://127.0.0.1:5678/redoc

    2024年02月04日
    浏览(43)
  • Electron学习1 安装环境与第一个程序

    Electron是一个用于构建跨平台桌面应用程序的开源库。它使用HTML、CSS和JavaScript等技术,通过将Web技术打包为原生应用程序,使得开发者能够创建出具有本地操作系统特性的软件。Electron使用Chromium作为渲染引擎,并允许开发者使用Node.js来访问底层系统资源。 本文将介绍elect

    2024年02月13日
    浏览(37)
  • fastapi篇(一)

    fastapi是一个高性能的web开发框架 性能极高,可与 NodeJS, Go 媲美。(得益于Starlette和Pydantic)。 Starlette 是一个轻量级 ASGI 框架/工具包。它非常适合用来构建高性能的 asyncio 服务,并支持 HTTP 和 WebSockets。 官方网址:https://www.starlette.io/   Pydantic 是一个使用Python类型提示来进行数

    2024年02月03日
    浏览(63)
  • fastapi 入门系列

    大纲 1.1 什么是FastAPI 1.1 什么是FastAPI FastAPI是一个现代、快速(高性能)的Web框架,用于构建API。它基于Python 3.7+的类型提示(type hints)和异步编程(asyncio)能力,使得代码易于编写、阅读和维护。FastAPI具有自动交互式文档(基于OpenAPI规范和JSON Schema)、数据验证、依赖注入

    2024年02月07日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包