上几次和大家分享过就是可以用IBM i 的IWS server去创建Web server后去部署构建REST API service,这个是用AS400 RPG的语言去做的,之后小编在想是不是也有Java 和Python语言也是可以构建,然后一查发现真的有很多,Java的更是五花八门,最新的主流是Spring Boot后续如果有时间做一个Java Spring Boot 的方式给大家展示.Python主流是两个架构,一个FASTAPI, 一个是 Flask. 这次主要用FASTAPI 做一个抛转引玉的作用,最后多嘴下这些轻量级的架构是可以在Docker 里面部署运用的,也为以后的微服务API 做铺垫.
这个是只要下载PyCharm 和配置对应的python 的环境,如果没有对应的FAST API,可以在PyCharm 的Terminal 里面安装.
pip install fastapi
pip install uvicorn[standard]
import uvicorn
from fastapi import FastAPI
import requests
import json
from fake_useragent import UserAgent
import warnings
from flask_cors import cross_origin
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel
from fastapi import FastAPI, Header
from typing import Optional
import uvicorn
warnings.simplefilter('ignore', DeprecationWarning)
#定义request body
class Item(BaseModel):
name: str
description: str = None
price: float
tax: float = None
class User(BaseModel):
username: str
full_name: str = None
app = FastAPI()
# Get 方法之带Path Parm
@app.get('/nihao/{file_path:path}')
async def read_file(file_path: str):
result = {'code': 200, 'message': file_path}
return result
# Get 方法之 带Header parm
@app.get("/items/1")
async def read_items(*, abc: str = Header("Hlao l"), hello: str = Header("niha1o"), user_agent: str = Header(None)):
return {"abc":abc+hello+ user_agent}
# Get 方法之 Query parm
@app.get("/items/")
async def read_items(*,a: str = "wo de"):
return {"Query Parm": a}
# Post 方法之带 多个header + Request Body
@app.post("/items/121")
async def update_item(*,
abc: str = Header("Hlao l"), hello: str = Header("niha1o"), user_agent: str = Header(None),
item: Item, user: User):
results = {"item": item, "user": user,"Hello":hello}
return results
#主方法来执行,前面都是定义对应的方法
if __name__ == '__main__':
uvicorn.run(app=app,
host="localhost",
port=80,
workers=1)
# 最后保存成FASTAPI.py 文件
复制
执行python文件:
python FASTAPI.py
后台log:
C:\Users\MAIBENBEN\AppData\Local\Programs\Python\Python39\python.exe E:/Program/python_project/FASTAPI.py
INFO: Started server process [2724]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://localhost:80 (Press CTRL+C to quit)
复制
通过Postman效果展示:
Get 方法之 Path Parm
![]() |
Get 方法之 Header parm
Get 方法之 Query parm
Post 方法之多个header + Request Body
如果大家有兴趣,对应的API的 Postman配置去小编的GitHUB上下载:https://github.com/SaidyWin/SaidyWin.github.io

文章转载自啊皮,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
python排序sort()和sorted()区别
wzf0072
57次阅读
2025-04-09 19:57:46
AI与我共创WEB界面
布衣
49次阅读
2025-04-14 22:13:51
解决pyqt5 textbrowser控件超链接锚点问题
zayki
31次阅读
2025-04-27 16:58:59
优雅遍历和删除特定开头的key
陌殇流苏
24次阅读
2025-04-25 12:17:03
python 实现消费者优先级队列
天翼云开发者社区
24次阅读
2025-04-25 11:08:21
《深入剖析Python的生成器表达式与列表推导式:探寻代码背后的哲学与艺术》
程序员阿伟
21次阅读
2025-04-27 16:22:14
python中标识符的命名规则和命名规范
周同学带您玩AI
13次阅读
2025-04-21 10:34:44
python自动更新dns A记录
godba
11次阅读
2025-04-23 11:19:04
Python运维神器:这些模块让你事半功倍
韩公子的Linux大集市
11次阅读
2025-04-09 11:13:18
python中不同数据类型转换-布尔型
周同学带您玩AI
8次阅读
2025-04-22 10:12:05