fastapi初使用,构建自己的api

news/2024/7/5 1:55:47

文章目录

        • 1、安装
        • 2、api实现
          • 2.1、 ```app.get("/1")```
          • 2.2、```app.get("/{a}")```
          • 2.3、```@app.get("/{a}+{b}")```
          • 2.4、函数和api分离
        • 3、运行


原文链接:https://wangguo.site/posts/d98bb3c9.html


fastapi 是一个基于 Python 的 API 构建框架,简单且易用!

1、安装

安装,主要分为两部分:

1)fastapipip install fastapi

2)uvicorn:pip install uvicorn。服务器端,可以用来运行fastapi的代码。

也可以一起安装pip install fastapi[all]

2、api实现

from typing import Union
from fastapi import FastAPI

app = FastAPI()

@app.get("/1")
def read_root():
    return ("hello")
2.1、 app.get("/1")

api路径引入,也就是用 1 调用 read_root函数,最终返回一个 hello。

2.2、app.get("/{a}")
@app.get("/{a}")
def read_root(a:int):
    return ("hello")

也可以输入值,当输入一个int型参数,调用 read_root函数,返回一个 hello。

2.3、@app.get("/{a}+{b}")
@app.get("/{a}+{b}")
def read_root(a:int,b:int):
    return (a+b)

实现一个a+b的API。

2.4、函数和api分离

不可能把所有的api函数都放在一个.py文件中,在python文件中可以通过import调用函数。

  • sum.py,定义了一个add函数,实现a+b
def add(a,b):
    print(a+b)
    return a+b
  • main.py,调用add函数
from typing import Union
from fastapi import FastAPI

from num import add

app = FastAPI()

@app.get("/{a}+{b}")
def read_root(a:int,b:int):
    return add(a,b)

3、运行

uvicorn main:app --reload

ok,结束!


http://lihuaxi.xjx100.cn/news/1344013.html

相关文章

青岛大学_王卓老师【数据结构与算法】Week05_12_队列的类型定义_学习笔记

本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享, 另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权,请留言作删文处理。 课程视频链接: 数据结构与算法基础…

Linux系统编程(守护进程)

文章目录 前言一、守护进程概念二、空洞文件三、创建守护进程总结 前言 本篇文章我们来讲解守护进程,守护进程在进程中是一个比较重要的概念,在笔试面试中也经常考到,这篇文章就带大家来学习一下什么是守护进程。 一、守护进程概念 守护进…

吴恩达机器学习2022-Jupyter

1 可选实验室: Python、 NumPy 和矢量化 简要介绍本课程中使用的一些科学计算。特别是 NumPy 科学计算包及其与 python 的使用。 2 目标 在这个实验室里将回顾课程中使用的 NumPy 和 Python 的特性。 Python 是本课程中使用的编程语言。NumPy 库扩展了 python 的基本功能&a…

基于PyQt5的图形化界面开发——打砖块

目录 0. 前言1. 砖块类定义2. 挡板类定义3. 碰撞检测4. 小球和游戏初始化5. 完整代码6. 运行效果演示7. Pyinstaller 编译exe程序PyQt5 0. 前言 本文使用 PyQt5实现一个打砖块小游戏 操作系统:Windows10 专业版 开发环境:Pycahrm Comunity 2022.3 Pyt…

拖动排序功能的实现 - 使用HTML、CSS和JavaScript

引言 在现代Web应用程序中,拖动排序是一种常见的用户界面交互方式,它允许用户通过拖动元素来重新排列列表或项目的顺序。本文将介绍如何使用HTML、CSS和JavaScript来实现手动拖动排序功能。 一、HTML结构 首先,我们需要定义一个列表&#…

“AI in the Alps“:身体与精神的一场盛宴

作者:Christofer Dutz 得益于 Timecho 的组织和安排,我最近参加了一个精彩绝伦的活动 “AI in the Alps”,并从中收获颇丰。 这次活动是由德国工业界知名博客 “Industrial AI Podcast”(http://aipod.de)的组织者 Ro…

Vue3+Vite+Pinia+Naive后台管理系统搭建之八:构建 login.vue 登录页

前言 如果对 vue3 的语法不熟悉的,可以移步Vue3.0 基础入门,快速入门。 项目所需要的图片,icon图标(推荐:阿里巴巴矢量图标库)自行获取,命名一致就行。 1. 构建 src/components/CopyRight.vu…

【每日一题】2673. 使二叉树所有路径值相等的最小代价

【每日一题】2673. 使二叉树所有路径值相等的最小代价 2673. 使二叉树所有路径值相等的最小代价题目描述解题思路 2673. 使二叉树所有路径值相等的最小代价 题目描述 给你一个整数 n 表示一棵 满二叉树 里面节点的数目,节点编号从 1 到 n 。根节点编号为 1 &#…