FastAPI开发环境搭建——开发第一个web程序

FastAPI开发环境搭建——开发第一个web程序

搭建开发环境

FastAPI官方文档学习 - FastAPI (tiangolo.com)

安装fastapi框架

pip install fastapi[all]
pip install uvicorn

使用对应IDE创建fastapi项目,例如pycharm,vscode和创建普通的python项目无差别

  • 创建一个fastapi项目目录(就普通目录)

  • 导入fastapi框架

    from fastapi import FastAPI
    
  • 创建FastAPI对象

    app = FastAPI()
    
  • 编写FastAPI接口

    @app.get("/")
    asyn def run():return {"message":"hello world!"}
    
    #@app.get("/")是一种装饰器用于写在函数上方方便的调用装饰器函数
    #app指的是创建的FastAPI对象,如果创建的方式为test = FastAPI(),则就应该改为@test.get("/")
    #app.get()表示创建一个get请求的接口
    #get("/")方法中的"/"表示接口的路径,是可以自行修改的,例如改成@app.get("/a"),那么在浏览器访问http://127.0.0.1:8000/a才会调用装饰器下面的函数
    #asyn def run():
    #   return {"message":"hello world!"}
    #asyn 异步关键字标识这个函数为异步函数,同时函数被调用时将会返回一个json数据{"message":"hello world"}
    
  • 启动Fastapi程序

    #两种方法
    #1 main方法启动
    if __name__ == "main":unicorn.run(app,host="0.0.0.0",port=8000)#直接在命令行中启动
    uvicorn main:app --reload #默认运行ip地址为127.0.0.1 默认端口为8000
    #自定义IP地址和端口
    uvicorn app:app --host '0.0.0.0' --port 8000 --reload
    
  • 在浏览器输入栏中输入http://127.0.0.1:8000/

    在这里插入图片描述

FastAPI自动生成api文档

  • 启动程序后,在浏览器中输入http://127.0.0.1:8000/docs
  • 一般来说如下图
  • 在这里插入图片描述

但是有时也会加载不出来

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1543542.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Solidity编码规范汇总篇

本文首发于公众号 【Keegan小钢】 上周,完成了 Solidity 编码规范的视频录制并上传到了 B 站、Youtube 和视频号。总共分为了 6 个小节,在 B 站的合集地址为: https://space.bilibili.com/60539794/channel/collectiondetail?sid3780183 为…

【ASE】第一课_双面着色器

今天我们一起来学习ASE插件,希望各位点个关注,一起跟随我的步伐 今天我们来学习双面着色器,对颜色和贴图进行差值,双面显示不同的效果 最终效果: 思路: 1.先确定前后面的贴图和颜色 贴图(Alb…

高效工程师的七个习惯

原文 我曾与一些杰出的工程师共事过 – 在诸如 FAANG 的大公司,也在初创规模的小公司。他们让我看到,传说中的「10 倍」工程师,真实存在! 如今,这些工程师中,有些人后来创办了自己的公司,他们…

kmp快速匹配

用处:对于一个较长的字符串A,判断A中是否存在字符串B。 思路: 暴力的做法是从A的每个元素开始,依次比较看是否有和B相同的子串,时间复杂度是o(N*N) 优化思路是对于每次查找完成以后&#xff…

springboot+vue宠物医院挂号看病诊断系统 f9h46

目录 宠物主人宠物医生系统管理人员系统实现截图技术介绍核心代码部分展示详细视频演示源码获取 宠物主人 登录注册:注册账户并登录系统。 首页:显示系统基本信息和用户导向功能。 个人中心:更新个人信息,包括联系方式、密码等。…

【AI创作组】工程方向的硕士研究生学习Matlab的路径

1. MATLAB软件概述 1.1 MATLAB发展历程 MATLAB自20世纪70年代诞生以来,已经经历了多次重要的版本更新和功能扩展。 初始版本:MATLAB的前身只是一个简单的交互式矩阵计算器,由Cleve B. Moler博士在1970年代初期开发,目的是为了方便学生和研究人员使用线性代数软件包LINPAC…

农业与植物基因组分析专家—优青博导提供从实验设计、数据分析到SCI论文咨询的一站式服务。多年经验,精准高效,为农业科研保驾护航!

🌟 教授团队领衔,全方位服务! 🚀 从实验设计到论文发表,一站式解决方案! 📈 选择我们,加速您的科研进程,让成果不再等待! 📝 专业分析 定制服…

ubuntu安装gitlab-runner

目录 1.添加gitlab 仓库地址 ​编辑2. 安装gitlab-runner命令 1.添加gitlab 仓库地址 curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash2. 安装gitlab-runner命令 sudo apt-get install -y gitlab-ru…

Python3爬虫教程-HTTP基本原理

HTTP基本原理 1,URL组成部分详解2,HTTP和HTTPS3,HTTP请求过程4,请求(Request)请求方法(Request Method)请求的网址(Request URL)请求头(Request H…

招联金融内推(深圳武汉大量招后端、算法)---2025秋招内推

【投递方式】 直接扫下方二维码,或点击内推官网https://wecruit.hotjob.cn/SU61025e262f9d247b98e0a2c2/mc/position/campus,使用内推码 igcefb 投递) 【招聘岗位】 后台开发 前端开发 数据开发 数据运营 算法开发 技术运维 软件测试 产品策…

HubSpot一站式增长平台,让获客变得超简单

在这片浩瀚的商业海洋中,每一位企业家都是一位勇敢的航海家,驾驶着自己的船只,追逐着心中的梦想与远方。然而,风浪无情,竞争激烈,如何才能确保你的航程既平稳又快速?HubSpot,正是那位…

宠物去浮毛救星?希喂、小米、霍尼韦尔宠物空气净化器哪款好用

怎么有人放假也不开心? 快到的国庆假期真是愁死我了...本来我妈国庆去旅游,我就打算不回家,和我家猫过二人世界。结果突然有事,我妈取消出行,改成让我假期回家陪她。我回家容易,我家猫回去可难啊&#xff…

【C++】拆分详解 - string类

文章目录 一、为什么学习string类?二、标准库中的string类  1. 定义  2. 常用接口说明     2.1 构造     2.2 容量操作     2.3 访问及遍历操作     2.4 修改操作     2.5 非成员函数 三、OJ练习自测  [1. 仅仅反转字母](https://leetcod…

基于DeepFace深度学习模型的离线版人脸识别API接口实现(类似百度在线API接口)

一 背景 人脸识别技术经过数年的发展,在技术算法、识别性能、应用场景以及隐私保护和数据安全等方面都取得了显著的进步和成熟。 应用场景 门禁系统: 在门禁系统中,离线人脸识别可用于身份验证,用户只需站在摄像头前&#xff0…

明明没违规,应用还是被判恶意软件?可能是这些原因

作为Google Play上架应用的开发者,大家的普遍感受:比起写代码,上架的过程简直更让人心力交瘁!特别是涉及用户数据和隐私保护的时候,稍有疏忽,就可能面临应用被下架、甚至账号被封的风险。 最近听到很多开发…

FPGA随记——VIVADO中ASYNC_REG指令

参考文章:Vivado综合属性系列一、ASYNC_REG_asyncregtrue-CSDN博客 -很棒棒的 跨时钟域设计(CDC)是个老生常谈的问题,其场景很多很杂,其中一个比较为人熟知的就是单bit信号从慢时钟到快时钟所采用的两级寄存器处理的…

一种求解城市场景下无人机三维路径规划的高维多目标优化算法,MATLAB代码

在城市环境下进行无人机三维路径规划时,需要考虑的因素包括高楼、障碍物、飞行安全和效率等。为了解决这些问题,研究者们提出了多种算法,包括基于智能优化算法的方法。 首先,无人机航迹规划问题的数学模型需要考虑无人机的基本约…

Spring Boot集成Redis Search快速入门Demo

1.什么是Redis Search? RedisSearch 是一个基于 Redis 的搜索引擎模块,它提供了全文搜索、索引和聚合功能。通过 RedisSearch,可以为 Redis 中的数据创建索引,执行复杂的搜索查询,并实现高级功能,如自动完…

【第十二周】李宏毅机器学习笔记10:生成式对抗网络2

目录 摘要Abstract1.GAN is Still Challenging2.Evaluation of Generation2.1 Mode Collapse2.2.Mode Dropping2.3.Diversity 3.Conditional GAN4.Learning from Unpaired Data总结 摘要 本周主要学习了上周关于生成式对抗网络的剩余知识,了解了为什么 GAN 难以训练…

【数字】flexnoc Qos配置

对于Qos_generator 的regulator模式来说可以配置的寄存器如下表: 因为我们没有使用external的clk来做count,也没有使用外部的threshold,所以都是使用的internal的时钟。 根据文档讲解的概念Bandwidth设置为下: Urgency使用来源如…