干货:业务标识 vs 自动判据

可选 template 参数:业务标识 vs 自动判据的绑定

一个参数,决定走哪条解析路

上传时可以带一个可选的 template。它是个业务标识:明确告诉引擎"这份文件用哪个模板插件解析"。不带,就退回自动判据去猜。

python 复制代码
item = {"p_FolderPath": folder, "p_TaskId": ...}
if template:
    item["template"] = template

引擎那侧:

python 复制代码
template = (json_data.get("p_template") or "").strip()
if not template:
    template = (item.get("template") or "").strip()   # HTTP 传的
if template:
    plugin = manager.by_id(template)   # 显式锁定
else:
    plugin = manager.auto_route(pdf)   # 自动识别

什么时候该带,什么时候不该

  • 业务方自己知道是什么格式 → 带 template,指哪打哪,最稳。
  • 业务方不知道 、靠系统猜 → 不带,让 recognizes 挨个试。

一个隐患:标识传了但不存在

如果 template 传了一个不在映射表里/没有对应插件的标识,怎么办?我们的规则是直接报错,不静默回退:

python 复制代码
# 显式指定了 template,却找不到插件 → 报 400,不猜
if template and manager.by_id(template) is None:
    raise HTTPException(status_code=400, detail="未知的业务标识,请检查")

宁可提示业务方改参数,也别让它当成"没指定"悄悄走了通用流程------那会解析出错还难查。

优先级要讲清楚

config.json 里的 p_template 优先于 HTTP 传的 template。也就是说:如果目录配置已经指定了模板,HTTP 参数就不生效。配置为准,参数是兜底。

一句话:template 是"业务语言到解析器"的绑定,显式传给最稳;传了却不知 → 报错,别猜。


相关推荐
2601_966949651 小时前
如何根据研究的起止时间截取分钟级行情?Python 实战与 QuantDash 数据处理指南
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
在世修行6 小时前
智学文枢:页面切换与跨页数据预填
python·桌面应用·signal·1024程序员节·pyside·跨页跳转·状态预填
2601_962885726 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
打工仔折腾 AI6 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
信誓旦旦的程序猿7 小时前
【Python量化实战宝典 #21】北向资金跟随手册:聪明钱择时信号(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
严谨的麻辣烫7 小时前
静态 ISP 代理请求超时怎么排查?Python 与 curl 实战
python·http·requests·1024程序员节·网络排障
KeepRobots9 小时前
11-01 温哥华不回拨:用 60 行 Python 查你的工单系统会不会差一小时(KeepRobots 工程笔记)
python
xiao77mwq9 小时前
你以为 OCR 慢?实测 81.3 s 里全是故障代价:如何把「定格态」消掉,让耗时从 6.5 s 到 13 倍差距显出原形
python
深圳市益普科技有限公司9 小时前
半导体良率管理YMS:良率与设备参数的相关性,先拉哪几组数据
人工智能·python·算法
“AI国潮设计-小江”9 小时前
【AIGC实战】Python+SDXL打造“潮汕英歌舞IP”万能立牌插件,批量生成“发财元宝蛋糕”视觉营销方案(附源码)
开发语言·人工智能·python·prompt·aigc