【原文链接】FastAPI简介与快速体验

文章目录

  • 一、FastAPI简介
  • 二、FastAPI的特点
  • 三、安装
    • 3.1 安装 fastapi
    • 3.2 安装 ASGI 服务器
  • 四、FastAPI快速体验
    • 4.1 编写main.py文件
    • 4.2 运行服务
    • 4.3 观察服务运行结果

一、FastAPI简介

FastAPI是一个用于构建API的快速、高性能的WEB框架,使用Python3.6+并基于标准的Python类型提示。

二、FastAPI的特点

  • 快速:可与NodeJS和GO比肩的极高性能,是执行速度最快的Python的web框架之一
  • 高效编码:代码开发效率可提高至200%至300%
  • 更少的Bug:可减少大约40%的开发者人为导致的Bug
  • 智能:编辑器中自动补全和提示支持的非常好,可以大幅减少调试时间
  • 简单:学习和使用起来非常的简单
  • 健壮:代码具有很好的健壮性,而且还能自动生成帮助文档
  • 标准化:完全兼容API的相关标准,自动支持Swagger接口文档

三、安装

3.1 安装 fastapi

pip install fastapi

3.2 安装 ASGI 服务器

pip install "uvicorn[standard]"

四、FastAPI快速体验

4.1 编写main.py文件

编写如下代码,即实例化了一个app的对象,然后编写了两个接口,其中helloworld接口无需填写参数,直接返回一个字典,而get_info接口需要在url中填写一个参数,同样也是返回一个字典

from fastapi import FastAPIapp=FastAPI()@app.get("/")
def helloworld():return {"Hello":"World"}@app.get("/user/{name}")
def get_info(name: str):return {"name":name}

4.2 运行服务

可以直接使用如下命令执行

PS G:\redrose2100.com\fast_api_demo> uvicorn main:app --reload
INFO:     Will watch for changes in these directories: ['G:\\redrose2100.com\\fast_api_demo']
ERROR:    [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
PS G:\redrose2100.com\fast_api_demo>

显然这里报错了,报这个错误的原因是FastAPI默认的是使用8000端口,而当前本机已经占用8000端口了,因此可以通过–port参数修改端口,即再执行如下命令,即将端口修改为8080端口,可以看出此时已经运行起来了。

PS G:\redrose2100.com\fast_api_demo> uvicorn main:app --reload --port 8080
INFO:     Will watch for changes in these directories: ['G:\\redrose2100.com\\fast_api_demo']
INFO:     Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)
INFO:     Started reloader process [14840] using WatchFiles
INFO:     Started server process [3664]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
WARNING:  WatchFiles detected changes in 'main.py'. Reloading...
INFO:     Started server process [18188]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

4.3 观察服务运行结果

直接使用浏览器打开 127.0.0.1:8080,则此时相当于调用了helloworld接口了,即直接返回一个字典了,如下:

打开 127.0.0.1:8080/docs 则可以打开FastAPI自带的swagger接口文档了,如下

可以将第一个接口展开,点击执行,如下,可以看到已经得到了返回值

把第二个接口展开,可以看到此时这里有一个必填参数,然后点击执行,即也得到了结果

至此就快速体验了一下FastAPI最简单的应用,使用起来非常的简单便捷

FastAPI简介与快速体验相关推荐

  1. WEEX框架(一)框架简介和快速上手体验

    框架简介 Weex,是能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验的框架,并支持iOS.安卓.Web等多端部署,由阿里巴巴研发和维护. 对于移动开发者来说,W ...

  2. 【rnnoise快速体验】rnnoise从编译到训练

    运行环境为Ubuntu18.04 C部分 下载源码 从github上下载源码,目前只有master分支,就拿master分支下来. 准备编译环境 干净的linux环境可能会没有安装gcc等编译工具 所 ...

  3. 基于android os 5.1,Android 5.1.1版氢OS快速体验

    本文约5304字,需9分钟阅读(全文浏览) [更新2015.07.15]作为一加氢OS的内测成员,小编在今天收到了氢OS最新的测试包.然而这个测试包有些不一样,它不再是基于Android 5.0.2系 ...

  4. go test 如何输出到控制台_GO笔记之GO命令快速体验

    上篇文章利用go run和go build命令分析介绍了GO的编译执行流程.GO提供给我们的命令当然远不止这两个.本文将在所能及的范围内,尽量地介绍GO提供的所有命令,从而实现对它们有个整体的认识. ...

  5. 【华为云技术分享】使用CloudIDE快速体验基于华为云ModelArts SDK的AI开发

    华为云ModelArts一站式AI开发与管理平台,能够支撑开发者从数据到AI应用的全流程开发过程,包含数据处理.算法开发.模型训练.模型管理.部署等,支持图像分类.图像检测.视频分析.语音识别.产品推 ...

  6. 图数据库HugeGraph简介与快速入门

    图数据库HugeGraph简介与快速入门 作者:胡佳辉(家辉),日期:2019年2月10日 CSDN博客:https://blog.csdn.net/gobitan 1. HugeGraph简介 1. ...

  7. uniapp开发:uniapp快速体验vue3.2之setup语法糖,怎么使用怎么爽

    目录 概要 拉开序幕的setup语法糖 生命周期钩子 ref函数与reactive函数对比 computed计算属性 监视(watch.watchEffect) 组件注册 组件传值 provide/i ...

  8. Android 集成 Agora SDK 快速体验 RTC 版多人视频聊天|掘金技术征文

    RTC (Real-Time Communication) 作为实时通讯领域的"新贵",在互动直播.远程控制.多人视频会议.屏幕共享等领域广受好评,如果你还不了解 RTC ,Tak ...

  9. 如何快速体验腾迅信鸽推送

    作者:zhanhailiang 日期:2014-10-13 信鸽是什么 腾讯信鸽(XG Push)是一款专业的免费移动App推送平台,支持百亿级的通知/消息推送,秒级触达移动用户,现已全面支持Andr ...

最新文章

  1. 2021-2027年中国中高端女装行业市场分析预测及投资方向研究报告
  2. Forefront_TMG_2010-TMG建立站点间***
  3. makefile .phony targets
  4. 秒杀(PHP,Redis,Lua)
  5. 设计模式之简单工厂模式(静态工厂方法)
  6. 你有没有想过你的上级为什么让你干这件事情,他想干什么
  7. org.apache.hadoop.ipc.Client: Retrying connect to server异常的解决
  8. Typescript 基本类型
  9. muduo之FileUtil
  10. easyDarwin--开源流媒体实现
  11. Oracle从零开始04——SQL语句03——单行函数
  12. webkit如何实现JS DOM binding—基于V8分析
  13. 微服务和SOA架构的区别
  14. C#设置代码只在调试模式下执行
  15. Flask 跨域问题
  16. 轻量级ORM框架 Bankinate
  17. 【ThinkPHP5.0RC2吃螃蟹之】关于ThinkPHP5.0的渲染模板输出
  18. html把圆形分成10份,CSS八等分圆的实现示例
  19. 计算机青年教师基本功大赛,北京高校第九届青年教师基本功比赛纪实
  20. Linux ubuntu14.04 下 chromium 浏览器 CPU占用资源优化

热门文章

  1. 游戏控 简要性格分析
  2. python 分类变量转为哑变量_如何转化哑变量
  3. 星际2服务器未能成功创建游戏,《星际争霸II》新手错误纠正
  4. Welcome to讯飞测试技术嘉年华和一只小萌鸭的约会
  5. 宝鸡市2021高考成绩查询,宝鸡市所有高中排名一览表,宝鸡市高中排名2021
  6. pakku for Chrome 拯救哔哩哔哩弹幕体验
  7. (附源码)计算机毕业设计JavaJava毕设项目菜鸟驿站快递分发系统
  8. 马原期末复习(含客观题答案)
  9. 2020-1-19 2.港股打新、REITs和分拆
  10. ubuntu 远程桌面登录