fastapi 实现HTTP访问
1.概述
在使用python 时,我如何发布一个接口给外部访问, python 有 FASTAPI 和 uvicorn 实现,fastapi 是定义 api接口,uvicorn 运行服务器。
2.安装依赖
pip install fastapi
pip install pydantic
pip install uvicorn
3.定义接口
3.1 快速上手
from fastapi import FastAPI,Body,Form,Query
from pydantic import BaseModel
import uvicorn
app=FastAPI()
@app.get("/")
def root():
return {"hello":"world"};
if(__name__=="__main__"):
uvicorn.run(app,host="0.0.0.0",port=9999)
3.2 get 定义参数
@app.get("/getUser")
async def api2(name=Query(None), sex=Query(...), age=Query(None)):
return {
"name": name,
"sex": sex,
"age": age,
}
其中 Query(None) 表示参数可以不填,Query(...) 表示参数必填
3.3 post form 参数
@app.post("/chat")
def chat(name=Form(...),address=Form(...)):
return {name : address};
这种是 post 键值对参数,参数是放到 body 中的
3.3 post json 参数
@app.post("/user")
class User(BaseModel):
name: str
age: int
def chat(user:User=Body(...)):
return {"name" : user.name,
"age":user.age};
前端传递 json 参数,参数结构为:{name:"",age:1}
3.4 post json参数 2
@app.post("/postUser")
def chat(name=Body(...),sex=Body(...),age=Body(None)):
return {"name" : name,
"sex":sex,
"age":age};
前端传递 json 参数,参数结构为:{name:"",age:1}
4. 查看文档
我们可以通过 http://localhost:9999/docs

fastapi 实现HTTP访问的更多相关文章
- FastAPI 快速搭建一个REST API 服务
最近正好在看好的接口文档方便的工具, 突然看到这个, 试了一下确实挺方便 快速示例 from fastapi import FastAPI from pydantic import BaseModel ...
- FastApi学习(一)
前言 学习不止 正文 介绍 FastApi是PythonWeb框架的'新晋干员',虽然年轻但是很能打 目前已有 12k start GitHub 官网 为什么说他能打呢?它内部使用了 Python 的 ...
- Docker部署SayHello(FastAPI)
目录 前言 服务部署 部署后端 1. 进入到sayhello目录 2. 编写API的Dockerfile(如果有请之直接构建镜像- 在下一步) 3. 构建镜像 4. 运行容器 5. 访问IP:8000 ...
- FastAPI + Vue 前后端分离 接口自动化测试工具 apiAutoTestWeb
apiAutoTestWeb使用说明 apiAutoTestWeb是为apiAutoTest的可视化版本,其采用前后端分离(FastAPI + Vue2)方式实现 具体使用: Python3 + Fa ...
- SSTI漏洞-fastapi
0x00 原理 SSTI漏洞全称服务器模板注入漏洞,服务器模板接收了用户输入的恶意代码,未经过滤便在服务端执行并通过渲染模板返回给用户,使得用户可以通过构造恶意代码在服务端执行命令. 0x01 c ...
- FastApi持续更新
FastAPI 框架,高性能,易于学习,高效编码,生产可用 官方文档: https://fastapi.tiangolo.com FastAPI 是一个用于构建 API 的现代.快速(高性能)的 ...
- FastAPI实战:简易MockServe
Mock 我个人理解就是为了伪造返回结果的东西,MockServe通常说的就是接口未开放完成但是现在需要调用,所以无论是通过转发还是直接访问这个url,其结果基本就是自己定义的 当然做仔细点就是 给个 ...
- FastAPI(2)- 快速入门
安装 FastAPI pip install fastapi # 将来需要将应用程序部署到生产环境可以安装 uvicorn 作为服务器 pip install uvicorn 最简单的代码栗子 fro ...
- FastAPI 学习之路(一)fastapi--高性能web开发框架
fastapi是高性能的web框架.他的主要特点是:- 快速编码- 减少人为bug- 直观- 简易- 具有交互式文档 - 高性能 - 基于API的开放标准 支持python 3.6版本. 安装 pip ...
- FastAPI(39)- 使用 CORS 解决跨域问题
同源策略 https://www.cnblogs.com/poloyy/p/15345184.html CORS https://www.cnblogs.com/poloyy/p/15345871.h ...
随机推荐
- 强!推荐一款Python开源自动化脚本工具:AutoKey!
1.前言 在数字化时代,自动化工具成为了提升工作效率和生产力的重要手段.Python作为一种广泛使用的编程语言,以其强大的功能和易用性受到许多开发者的青睐. 而今天给大家推荐一款开源的自动化脚本工具: ...
- POJ-2385 Apple Catching(基础dp)
It is a little known fact that cows love apples. Farmer John has two apple trees (which are convenie ...
- 让人眼前一亮的开源项目「GitHub 热点速览」
时隔两周,我又带着让人眼前一亮的开源项目回来了! 告别数据线.蓝牙.WiFi 和网络,只需用手机的摄像头扫描一张动图条形码(需安装应用),就能在设备间传输文件的 libcimbar,一款无需联网和蓝牙 ...
- 离线安装MySQL
离线安装mysql [下载地址](MySQL :: Download MySQL Community Server) 解压后依次执行如下命令 rpm -ivh mysql-community-comm ...
- callable类型 是什么?
在 C++ 中,callable 类型(可调用类型)是指可以像函数一样被调用的对象 C++ 中有多种不同的可调用对象类型,它们可以通过函数调用运算符 () 被调用. 常见的 callable 类型包括 ...
- 左值 <->右值
左值引用指向左值 右值引用指向右值 int a = 5; int &ref_a = a; // 左值引用指向左值,编译通过 int &ref_a = 5; // 左值引用指向了右值,会 ...
- Android Perfetto 系列 2:Perfetto Trace 抓取
使用 Perfetto 分析问题跟使用 Systrace 分析问题的步骤是一样的: 首先你需要抓取 Perfetto 文件 在ui.perfetto.dev 中打开 Trace 文件进行分析或者使用命 ...
- 实例:([Flappy Bird Q-learning]
目录 实例:(Flappy Bird Q-learning) 问题分析 关于Q 训练 成果 实例:(Flappy Bird Q-learning) 问题分析 让小鸟学习怎么飞是一个强化学习(reinf ...
- nosql的衍生与数据库的拆分
nosql简单介绍 Redis:开源.免费.非关系型数据库.K-V数据库.内存数据库,支持持久化.事务和备份,集群(支持16个库)等高可用功能.并且性能极高(可以达到100000+的QPS),易扩展, ...
- 从零开始学逆向CTF比赛,免费参加,欢迎来玩!
大家好,我是轩辕. 告诉大家一个好消息:我准备了一次逆向CTF比赛,面向所有人开放,无需购买课程,优秀的小伙伴还有奖励,参赛方式在文末会介绍,欢迎大家一起来玩. 举办这次CTF比赛,是为了检验大家从零 ...