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学习

相关推荐
淮北49416 小时前
vim学习进阶
学习·编辑器·vim
Makesths16 小时前
【JSReverser-MCP】一句话逆向猿人学21题
ai·ai编程
sayang_shao17 小时前
ARM架构运行模式学习笔记
arm开发·学习·架构
happymaker062618 小时前
web前端学习日记——DAY04
前端·学习
saifeng18 小时前
安装 Claude Code
ai编程
多年小白18 小时前
OpenClaw 本周技术更新速递
人工智能·ai·ai编程·openclaw
mCell20 小时前
Harness 工程:不是新词,而是 Agent 工程终于被讲明白了
agent·ai编程·claude
OpenTiny社区20 小时前
AI-Extension:让 AI 真的「看得到、动得了」你的浏览器
前端·ai编程·mcp
solicitous20 小时前
遇到一个口头机遇
学习·生活
FserSuN21 小时前
langchain deepagents 框架使用带脚本的Skill
langchain·ai编程