新闻详情

新闻详情

首页 / 资讯中心 / 详情

AI陪伴机器人API设计-api-users到api-alerts的二十个接口

发布时间:2026/11/1 13:18:46来源:尧图网络
AI陪伴机器人API设计-api-users到api-alerts的二十个接口
05-API设计-api-users到api-alerts的二十个接口黒漂技术佬 · AI 伙伴AI-Partner「数据接口部署与二次开发」系列 05数据层拆完了这篇上到接口层。AI 伙伴后端一共 9 个 Controller、19 个 HTTP 接口全部基于http://localhost:8080暴露。这篇逐个列出来讲清楚前缀划分的思路、根路径 HomeController 的用意以及接口版本化这个它没做、但你应该做的事。一、九个控制器总览Controller路由前缀接口数职责UserController/api/users1用户查找/注册ChatController/api/chat1陪伴对话核心接口ReminderController/api/reminders3提醒增/查/取消EmotionController/api/emotions2情绪记录/查询HealthController/api/health2健康记录/趋势DeviceController/api/devices4设备注册/绑定/列表/控制VisionController/api/vision2图片检测/跌倒检测AlertController/api/alerts2告警查询/状态流转HomeController无前缀2首页元信息/健康检查前缀划分遵循的是资源域一个业务域一个前缀域内再分动作。写代码找接口时按域定位看日志时按前缀归类一目了然。二、逐控制器接口清单2.1 用户与对话HTTP路径参数返回作用POST/api/usersBodyopenId必填、platform默认 web、nicknameApiResponseUser按openId查找或创建用户登录即注册POST/api/chatBodyuserId必填、message必填、sessionType默认 text、needTts默认 falseApiResponseChatResult发起一轮陪伴对话返回回复文本、audioUrl、耗时、conversationId/api/chat是全项目的中枢一次调用会触发调大模型 → 工具副作用落库 → 对话存档 → 可选 TTS的完整链路。2.2 提醒HTTP路径参数返回作用POST/api/remindersBodyuserId必填、title必填、content、remindTime、type默认 custom、cron、deviceIdApiResponseReminder创建提醒GET/api/remindersQueryuserIdApiResponseListReminder列出待触发提醒DELETE/api/reminders/{id}PathidQueryuserIdApiResponseString取消提醒注意 DELETE 还要传userId做归属校验——不是任何人都能取消任何人的提醒这是无鉴权体系下最朴素的权限防线。2.3 情绪与健康HTTP路径参数返回作用POST/api/emotionsBodyuserId必填、emotion必填、intensity默认 5、context、source默认 manualApiResponseEmotionRecord记录一条情绪GET/api/emotionsQueryuserIdApiResponseListEmotionRecord最近 10 条情绪POST/api/healthBodyuserId必填、type必填、value、unit、note、deviceIdApiResponseHealthRecord记录健康数据异常自动建告警工单GET/api/healthQueryuserId、typeApiResponseListHealthRecord近 7 天某类健康数据趋势2.4 设备HTTP路径参数返回作用POST/api/devices/registerQuerydeviceCode必填、name、type均可选ApiResponseDevice注册/认领设备已存在则返回原设备POST/api/devices/bindQueryuserId、deviceCodeApiResponseDevice用户绑定设备GET/api/devicesQueryuserIdApiResponseListDevice用户设备列表POST/api/devices/controlQueryuserId、deviceCode、action必填param可选ApiResponseString下发动作speak/gesture/light/wake/sleep设备这组接口全是 Query 参数而不是 JSON Body风格上和前几组不统一——能用但二次开发时建议统一成 Body 传参DTO 校验才用得上。2.5 视觉与告警HTTP路径参数返回作用POST/api/vision/detectmultipartfile图片、task默认 face可选 face/pose/fallApiResponseListDetection通用目标/姿态/跌倒检测POST/api/vision/fallmultipartfile图片ApiResponseBoolean是否检测到跌倒置信度阈值 0.6GET/api/alertsQueryuserId可选、status可选ApiResponseListAlert传 userId 按用户查默认 open不传查全部待处理PUT/api/alerts/{id}/statusPathidQuerystatusApiResponseAlert工单状态流转 open→processing/closed视觉接口内部会把图片转发给独立的 Python 视觉服务默认地址http://127.0.0.1:8000读取失败统一包装为BusinessException(图片读取失败…)。2.6 HomeController根路径的两张名片HTTP路径返回作用GET/ApiResponseMap服务元信息service/desc/docsGET/api/pingApiResponseString健康检查返回pong为什么HomeController放在根路径而不是塞进/api下因为它的服务对象不是业务前端而是人和运维工具浏览器地址栏敲个根路径就能看到这是什么服务部署脚本、探活检查用curl http://localhost:8080/api/ping验证服务是否活着。它游离于业务前缀之外是对外名片不是业务资源。这和 Spring Boot Actuator 的/actuator/health本项目也开了形成双保险ping 验应用进程actuator 验运行时状态。三、和标准 RESTful 的距离严格 RESTful 有一套名词资源 动词靠 HTTP 方法的教条。对照下来AI 伙伴是资源域 实用主义的混合体接口RESTful 教条写法实际写法点评注册设备POST /api/devicesPOST /api/devices/register动作后缀风格偏离但不影响理解绑定设备PUT /api/devices/{code}/ownerPOST /api/devices/bind同上更新工单状态PATCH /api/alerts/{id}PUT /api/alerts/{id}/status用子资源表达状态变更常见折中对话POST /api/conversationsPOST /api/chat动作语义优先聊天场景业界通行我的看法RESTful 是手段不是信仰。这个项目的接口在可预测、好调试、和前端沟通成本低这三件事上达标了个别不纯的地方register/bind 的动词后缀属于务实取舍。二次开发时保持两个底线即可前缀按资源域划、同域内风格统一。四、接口版本化的缺失与改进所有接口都直接挂在/api/**下没有/api/v1。当前单人开发问题不大但一旦外部小程序、H5 开始依赖你的接口改个字段就是线上事故。改进方案很轻路径版本/api/v1/users——最直观Nginx 路由也好配推荐Header 版本X-Api-Version: 1——路径干净但调试麻烦。落地成本几乎为零给 Controller 的RequestMapping统一加上 v1 前缀即可新版本来了再开/api/v2老版本并行一段时间后下线。五、完整的接口地图最后把 19 个接口拼成一张速查地图二次开发时对着查http://localhost:8080 ├─ GET / 服务元信息 ├─ GET /api/ping 健康检查 ├─ POST /api/users 查找或创建用户 ├─ POST /api/chat 陪伴对话 ├─ POST /api/reminders 创建提醒 ├─ GET /api/reminders 待触发提醒列表 ├─ DEL /api/reminders/{id} 取消提醒 ├─ POST /api/emotions 记录情绪 ├─ GET /api/emotions 最近10条情绪 ├─ POST /api/health 记录健康数据 ├─ GET /api/health 近7天健康趋势 ├─ POST /api/devices/register 注册设备 ├─ POST /api/devices/bind 绑定设备 ├─ GET /api/devices 用户设备列表 ├─ POST /api/devices/control 下发设备动作 ├─ POST /api/vision/detect 图片检测face/pose/fall ├─ POST /api/vision/fall 跌倒检测 ├─ GET /api/alerts 告警工单列表 └─ PUT /api/alerts/{id}/status 更新工单状态六、合规与安全提醒这份接口地图同时暴露了它的软肋没有任何鉴权未发现登录拦截器userId全靠客户端自报。对接任何真实用户前请至少做到三件事加一层认证JWT 或平台登录态校验把谁在调用变成服务端可信信息接口限频防止/api/chat被刷爆大模型账单健康与情绪接口必须做数据归属校验和授权管控——老人孩子的心率、情绪不该是任何拿到 userId 的人都能查的公开数据。小结9 个控制器、19 个接口按资源域划分前缀实用主义路线配上根路径的两张运维名片整体是一套教科书级的中小型项目接口组织。短板也很诚实没版本化、没鉴权——这正好是二次开发者练手的两个最佳切入点。下一篇我们看这些接口统一返回的ApiResponse三段式和全局异常处理。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/1 1:42:41

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/1 2:34:07

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/1 2:01:57

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/1 3:13:10

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/1 2:11:52

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/1 3:23:38

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉