当前位置: 首页 > news >正文

网站建设土豆视频教程python自学必看的3本书

网站建设土豆视频教程,python自学必看的3本书,徐州建设网站,哪个网络公司做网站好大家伙,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 前言 最近在写机器人相关的接口,顺手学了学python,发现这是个好东西,写代码效率比java要高很多,比如写个词云呀,写个回调呀&am…

大家伙,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。

前言

最近在写机器人相关的接口,顺手学了学python,发现这是个好东西,写代码效率比java要高很多,比如写个词云呀,写个回调呀,或者写个数据分析等等,都很方便。

今天,顺便在此记录一下,在使用fastapi的时候,创建多个文件,多个路由的问题。

一、创建新类api_sys.py

比如,我们这个类,就是一个崭新的路由,我们调用该类中的接口时,路由地址为:你的ip/路由/接口名,那么,我们来看看如何实现。

# 引入依赖
from fastapi import APIRouterrouter = APIRouter()## 创建类,接收接口传递的json数据
class WechatDto(BaseModel):msg: str = None  # 消息内容tag: int = None  # 消息类型,例如:0表示发送文字,1表示发送图片等finalFromWxid: str = None  # 如果是群消息,发送消息的人的微信IDfinalFromNick: str = None  # 如果是群消息,发送消息的人的微信IDfromWxid: str = None  # 发送消息的人的微信ID,如果是好友则为好友的wxidfromNick: str = None  # 发送消息的人的昵称,如果是好友则为好友的昵称memberCount: int = None  # 如果是群消息,群成员的数量;如果是好友消息则为空time: str = None  # 发送时间msgSource: int = None  # 发送消息的来源,0表示别人发送,1表示自己发送atList: list = []  # 艾特的人列表,通常是一个包含微信ID的列表# 创建get方法def get(self, param):return getattr(self, param)# 微信机器人自定义接口
@router.post("/receive_message")
def receive_message(wechat: WechatDto):# 获取消息msg = wechat.msg# 获取用户finalFromWxid = wechat.finalFromWxid# 获取需要发送的群fromWxid = wechat.fromWxidfinalFromNick = wechat.finalFromNickuser_nick_list = [finalFromNick]user_name_list = [finalFromWxid]result = ''if msg.find("小助手") != -1:result = jiadian(msg, fromWxid, user_nick_list, user_name_list)return result

注意,关键代码就这几行:

from fastapi import APIRouter
router = APIRouter()
@router.post("/receive_message")

然后,我们在main.py中引入这个路由类:


from fastapi import FastAPI
# 导入依赖
from api.api_sys import router as api_sys_routerapp = FastAPI()
# 添加前缀,例如
app.include_router(api_sys_router, prefix="/api")

其余就是你别的代码了,接下来,我们可以使用apipost来调用一下该接口,调用地址为:127.0.0.1:7552/api/receive_message,然后再body中该怎么传参就怎么传参,我这边传参是个json,就不在这里展示了。

创建第二个类api_huidiao.py

为了给大家能够跟清晰的展示,多个路由的概念,我们可以再创建一个类,继续当做一个路由,走走流程:


from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from typing import Optional, List
from fastapi import APIRouterapp = FastAPI()huidiao_router = APIRouter()class CallBackDataEntity(BaseModel):port: Optional[int] = Nonepid: Optional[int] = Nonewxid: Optional[str] = NonewxNum: Optional[str] = Nonenick: Optional[str] = Nonedevice: Optional[str] = Nonephone: Optional[str] = NoneavatarUrl: Optional[str] = Nonecountry: Optional[str] = Noneprovince: Optional[str] = Nonecity: Optional[str] = Noneemail: Optional[str] = Noneqq: Optional[str] = NonetimeStamp: intfromType: intmsgType: intmsgSource: intfromWxid: strfromNick: strfinalFromWxid: Optional[str] = NonefinalFromNick: Optional[str] = NoneatWidList: Optional[List[str]] = Nonesilence: intmembercount: intsignature: Optional[str] = Nonemsg: str@huidiao_router.post("/receive_message_huidiao")
async def receive_message(data: CallBackDataEntity):print(f"接收到了回调消息,内容是:{data.dict()}")# 这里可以添加你的业务逻辑return {"message": "success"}@huidiao_router.get("/test_api")
async def test_api():return {"message": "success"}

关键代码,还是那几行,只是名字有所不一样:


from fastapi import APIRouter
huidiao_router = APIRouter()
@huidiao_router.post("/receive_message_huidiao")

下面是在main.py中新增的代码:


from api.api_huidiao import huidiao_router as huidiao_routerapp.include_router(huidiao_router, prefix="/api/huidiao")

接下来我们请求接口:http://127.0.0.1:7582/api/huidiao/test_api,即可。

http://www.yayakq.cn/news/57163/

相关文章:

  • php网站开发主要做什么深圳网站建设有没有市场
  • 上海博大园林建设发展有限公司网站做外贸一般看什么网站
  • 域名注册的网站有哪些大兵seo博客
  • 济宁网站建设兼职比较好约的网站设计
  • 做推送的网站有哪些网站建设和网页设计视频教程
  • 做网站买岩棉网站建设过程小结
  • 佛山小学网站建设做贷款的网站
  • 徐州专门做网站百度seo如何快速排名
  • 社交网站图片展示软件开发管理工具
  • ICP备案不停网站做侵权网站用哪里的服务器稳
  • 阿里巴巴网站建设初衷会员卡系统一般哪里买
  • 自己做的图片哪个网站可以出售做微信小程序需要什么技术
  • 把网站放在虚拟主机上 怎么进入网站后台网站建设宝安
  • 常见的营销型网站手机网站的优势
  • 示范校建设专题网站昆山网站建设培训学校
  • 建设工程申报系统网站wordpress文章怎么加关键词描述
  • 有哪些中文域名网站做公司简介网站
  • 国外域名购买网站江西网站建设公司费用
  • 免费建设门户网站微信第三方开发平台
  • 合肥网页网站制作做网站 中企动力
  • 上海网站推广服务wordpress搭建博客视频教程
  • 哈尔滨模板网站建站百度在西安有分公司吗
  • 网站建设教学工作总结6重庆知名网站
  • 在godaddy做网站贵吗网站制作需要什么软件有哪些
  • 企业网站icp备案申请做钓鱼网站会被抓吗
  • 一个网站绑定多个域名公众号微网站建设
  • 自适应平台网站模板网页编程是什么
  • 网站变exe文件怎么做私人影吧服务器
  • 网络口碑营销案例分析seo职位全称
  • 韶关哪里做网站最好白鹭引擎做网站