FastApi学习

介绍对象:FastApi

基于 Python 3.6+ 的高性能 Web 框架。Python 在进步而它基于这些进步,让 Web 开发变得更快、更强。

在网上看到此框架,忍不住想要试一下,这样以后需要写一些测试接口,就很方便了。作为从来没有接触过Python的新手,真是太难了

官方文档:https://fastapi.tiangolo.com/

Github:https://github.com/tiangolo/fastapi

安装Python 环境参考:https://www.runoob.com/python/python-install.html

Python下载慢?使用该网站进行下载:http://gg.widyun.com/    (复制Python下载链接到此网站进行下载)

挺不错的学习博客:https://www.jianshu.com/p/94710ed35b92

下载FastApi环境:

管理员身份打开cmd执行以下指令:

1、pip install fastapi

2、pip install uvicorn

如果上面安装过程发生如下报错:

解决方法:以管理员身份打开cmd,执行指令  python -m pip install --upgrade pip

 

创建main.py文件并运行

from fastapi import FastAPI
from pydantic import BaseModel
import uvicorn
app = FastAPI()

class Item(BaseModel):
    name: str
    price: float
    is_offer: bool = None

@app.get("/root")
async def root():
    return {"message": "Hello World"}

@app.get("/read_root")
async def read_root():
    return {"Hello": "World"}

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

@app.put("/items/{item_id}")
def update_item(item_id: int, item: Item):
    return {"item_name": item.name, "item_id": item_id}

@app.put("/hello_world/{message}")
async def hello_world(message, channels):
     content = b'<h1>Hello World</h1>'
     resp = {
         'status': 200,
         'headers': [[b'content-type', b'text/html'],],
         'content': content,
     }
     await channels['reply'].send(resp)

if __name__ == '__main__':   
	uvicorn.run(app='main:app', host="127.0.0.1", port=8050, reload=True, debug=True)

我这边是使用vs code 直接运行调试即可。

cmd运行指令:uvicorn main:app --reload,怎么运行都没成功,一脸懵逼

 

这时候访问地址就可以看到接口文档了:http://127.0.0.1:8050/docshttp://127.0.0.1:8050/redoc

原生Api描述:http://127.0.0.1:8050/openapi.json

 接口测试:http://127.0.0.1:8050/items/5?q=somequery

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值