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 ...
随机推荐
- 音视频 SDK |合理配置视频参数,提升使用质量
一.前言 在视频通话或直播时,开发者可以根据需要指定推流和拉流视频相关配置,如视频采集分辨率.视频编码输出分辨率.视频帧率.码率.视图模式和镜像模式. 设置合适的视频分辨率.帧率和码率可以在音视频场景 ...
- 小tips:HTML的实体
为了能在HTML文档中正确显示某些特殊字符,就需要使用HTML实体(entity).HTML实体就是对当前文档的编码方式不能包含的字符,提供一种转义表示. HTML实体定义 1.名称方式 名称方式会以 ...
- 所见即所得,赋能RAG:PDF解析里的段落识别
前几天,有一位用户使用OCR产品识别多栏论文后向我们询问:要怎么解决不合适的断句.分段以及错误阅读顺序的问题? 我们用一个相似案例为大家直观展示这位用户遇到的情况. 如图中的多栏期刊,如果用OCR识别 ...
- HTML – HTML Tags & Semantic HTML 语义化 HTML
前言 HTML tag 有 100 多个, 有些是功能形的, 非用不可, 有些是为了语义化对 screen reader 友好 (给眼睛有残缺的人也可以获取清晰的网站信息). 语义化是很重要的, 有些 ...
- Java在线数据导入导出Excel
利用hutool 导入导出 Excel 导入maven <dependency> <groupId>cn.hutool</groupId> <artifact ...
- threejs 几何体的本质 顶点
几何体的线框模式, 一个正方平面最少可以由4个顶点组成,两个三角形组成(公用了 2个顶点,使用了索引创建顶点属性) . // 导入 threejs import * as THREE from &qu ...
- vue项目中的package.json的private选项的作用
{ "name": "项目名称", "description": "描述", "version": ...
- 什么是SQL注入并解决
' or ' 1 ' = ' 1 原理:通过违规的字符串改变原来的SQL语句 :[将敏感字符进行转义] // 包名 package com.zhulx.JDBC; // 导入实例类 import co ...
- 017 Python 流程控制之 if 判断
博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...
- 云原生周刊:CNCF 宣布 Falco 毕业|2024.3.4
开源项目推荐 ldap-operator 用于部署和管理 LDAP 目录的 Kubernetes Operator. Updatecli Updatecli 是一个用于应用文件更新策略的工具.每个应用 ...