Python-fastAPI的学习与使用

我们要学习python,目的不是为了精通python,而是能利用python搭建ai服务。

也就是能达到"用Python调用AI库和构建简单服务"的水平即可,无需追求Pythonic。

安装 python,fastapi等一系列相关服务或者工具

安装python的过程我就不说了,这里我来说下安装fastapi

打开黑窗口(cmd),输入命令:

复制代码
pip install "fastapi[all]"

这会安装:

fastapi - FastAPI 框架
uvicorn[standard] - ASGI 服务器
python-multipart - 表单和文件上传支持
jinja2 - 模板引擎
python-jose - JWT 令牌支持
passlib - 密码哈希
bcrypt - 密码加密
python-dotenv - 环境变量支持。

python编程工具

这里博主用的idea集成了python,所以要用idea编写python语言。

关于idea 如何集成python,也很简单。

idea找到插件位置,下载python即可。

选择创建项目;python,如下

创建之后,我们可以创建main文件夹;会有默认的init类文件,

然后我们输入 from fastapi import FastAPI

如果报错,我们在项目位置打开黑窗口,执行以下命令:

pip install fastapi uvicorn

这个时候就可以正常使用fastApi了.

编程代码

我们编写一段代码

代码解析:

from fastapi import FastAPI

这行代码从< code>fastapi 模块中导入了 FastAPI 类。FastAPI 类是 FastAPI 框架的核心,用于创建 FastAPI 应用程序实例。

app = FastAPI()

这行代码创建了一个 FastAPI 应用实例。与 Flask 不同,FastAPI 不需要传递 name 参数,因为它默认使用当前模块。

@app.get("/")

这是一个装饰器,用于告诉 FastAPI 哪个 URL 应该触发下面的函数,并且指定了 HTTP 方法为 GET。在这个例子中,它指定了根 URL(即网站的主页)。

def read_root():

这是定义了一个名为 read_root 的函数,它将被调用当用户使用 GET 方法访问根 URL 时。

return {"CHINA": "NIUBI"}

这行代码是 read_root 函数的返回值。当用户使用 GET 方法访问根 URL 时,这个 JSON 对象将被发送回用户的浏览器或 API 客户端。

java服务调用python服务

我们在java程序里 利用HTTP 进行调用刚刚我们编写的方法:

可以看到成功获取到了python语言返回的信息。

方法进阶

我们再声明一个get方法

from typing import Union

from fastapi import FastAPI

app =FastAPI()

@app.get("/")

def read_root():

return {"CHINA": "NIUBI"}

@app.get("/test/{id}")

def test(id:int,name:str|None=None):

return{"我是ID":id,"我是Name":name}

复制代码
@app.get("/test/{id}")  :get请求;方法名为test
复制代码
(id:int,name:str|None=None) :两个参数一个id(int类型),一个name(字符串类型,可为空)

其中这两个参数代表的含义不同:

id --是路径参数,指定为整数类型。
q -- 是查询参数,指定为字符串类型或空(None)。

当我们在java服务调用该方法:

复制代码
String info = HttpUtils.doHttpGet("http://127.0.0.1:8000/test/10?name=周树人");
System.out.println(info);


打印信息:{"我是ID":10,"我是Name":"周树人"}

好了,今天学习就到这里了。

另外,大家可以参考下这个网址fastapi学习

相关推荐
●VON24 分钟前
从模型到价值:MLOps 工程体系全景解析
人工智能·学习·制造·von
好奇龙猫25 分钟前
【人工智能学习-AI-MIT公开课第 18. 表示:分類、軌跡、過渡】
学习
hhcccchh1 小时前
学习vue第八天 Vue3 模板语法和内置指令 - 简单入门
前端·vue.js·学习
浩瀚地学2 小时前
【Java】异常
java·开发语言·经验分享·笔记·学习
一尘之中2 小时前
Ubuntu 22.04 上 FastAPI 的完整安装与问题解决指南
ubuntu·fastapi·ai写作
冬奇Lab3 小时前
【Cursor进阶实战·07】OpenSpec实战:告别“凭感觉“,用规格驱动AI编程
人工智能·ai编程
Nan_Shu_6143 小时前
学习: Threejs (3)& Threejs (4)
学习
IamZJT_3 小时前
拒绝做 AI 的“饲养员” ❌:前端程序员在 AI 时代的生存与进化指南 🚀
前端·ai编程
IT=>小脑虎4 小时前
2026版 Python零基础小白学习知识点【基础版详解】
开发语言·python·学习
极小狐4 小时前
智谱上市!当 GLM-4.7 遇上 CodeRider :演示何为「1+1>2」的巅峰效能
人工智能·ai编程