Fast-api 学习记录--生成swagger 文档,接口调试
  sk0UK3kWnLtV 2023年11月19日 38 0


目的: Fastapi 是一个基于 python 的框架,该框架提供了许多好处,例如自动 OpenAPI 验证和文档编制, 即自动生成swagger说明。  以及其他的强大的功能, 在学习中探索并记录


一 、前提条件:准备开发环境

 安装第三方库
 pip install fastapi
 
 安装依赖包
 pip install fastapi[all] 
 
 安装服务器(运行环境)
 pip install uvicorn[standard]



二、正式编写第一个接口,运行并得到响应结果

放访问 服务器地址时, http://127.0.0.1:8000/   调用welcome 函数,返回响应

创建一个main.py文件 


# 编写第一个接口 
from fastapi import Path
from fastapi import FastAPI
from typing import Union
from fastapi import FastAPI
from fastapi import Query
import time
import requests

app = FastAPI()


# 接口请求:不带端口号, 默认8000, 且无路径参数及查询参数及body 部分
@app.get('/')
async def welcome():
    return "hello,world"
    
    
启动后端服务命令:  uvicorn main:app --reload 

Fast-api 学习记录--生成swagger 文档,接口调试_测试开发


Fast-api 学习记录--生成swagger 文档,接口调试_fastapi_02

三、查看接口文档: 

当访问:http://127.0.0.1:8000/docs  时, 自动生成接口文档

Fast-api 学习记录--生成swagger 文档,接口调试_测试开发_03


四、请求参数记录

1、查询参数赋予默认值, 并返回

# todo 1 : 路径参数 , 并返回默认值
#  当没有路径参数, 只有查询参数时,并且查询参数赋予了默认值,则不会报错, 为非必填
@app.get("/items/")
async def read_item(skip: int = 0, limit: int = 10):
    return {
        "skip": skip,
        "limit": limit
    }

curl --location 'http://127.0.0.1:8000/items/'  

结果如下:  

Fast-api 学习记录--生成swagger 文档,接口调试_自动化测试_04


2、若查询参数不赋予默认值, 这时, fast api 强大的功能展现了~  

仍是请求: curl --location 'http://127.0.0.1:8000/items/

报错如下: 缺少必填的查询字段: skip,limit 


@app.get("/items/")
# async def read_item(skip: int = 0, limit: int = 10):
async def read_item(skip, limit):
    return {
        "skip": skip,
        "limit": limit
    }




{
    "detail": [
        {
            "type": "missing",
            "loc": [
                "query",
                "skip"
            ],
            "msg": "Field required",
            "input": null,
            "url": "https://errors.pydantic.dev/2.5/v/missing"
        },
        {
            "type": "missing",
            "loc": [
                "query",
                "limit"
            ],
            "msg": "Field required",
            "input": null,
            "url": "https://errors.pydantic.dev/2.5/v/missing"
        }
    ]
}

    

Fast-api 学习记录--生成swagger 文档,接口调试_自动化测试_05

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
sk0UK3kWnLtV
最新推荐 更多