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

「简记往来」开发历程系列:API设计——RESTful接口在礼账场景中的实践

一、资源设计

RESTful API的核心是“资源”。简记往来的核心资源:

资源URL说明
账本/api/books用户创建的账本
成员/api/members账本成员
记录/api/records礼金记录
联系人/api/contacts联系人档案

二、HTTP方法映射

操作HTTP方法URL说明
创建账本POST/api/books新建一个账本
获取账本列表GET/api/books获取用户所有账本
获取账本详情GET/api/books/{id}获取单个账本信息
更新账本PUT/api/books/{id}修改账本名称
删除账本DELETE/api/books/{id}解散账本

三、状态码规范

状态码含义使用场景
200OK请求成功
201Created创建成功
400Bad Request参数错误
401Unauthorized未登录
403Forbidden无权限
404Not Found资源不存在
500Internal Server Error服务器错误

四、错误处理统一格式

所有错误响应使用统一格式:

{"code":40001,"message":"参数缺失:bookId","timestamp":1700000000000}

错误码规范:

  • 40001-40099:参数错误
  • 40100-40199:认证错误
  • 40300-40399:权限错误
  • 40400-40499:资源不存在
  • 50000-50099:服务器错误

五、核心接口示例

创建记录

POST /api/records Authorization: Bearer {token} { "bookId": "book_xxx", "contactId": "contact_xxx", "type": "receive", "amount": 800, "date": "2026-06-20", "note": "婚礼" }

响应

{"code":0,"data":{"id":"record_xxx","bookId":"book_xxx","contactId":"contact_xxx","type":"receive","amount":800,"date":"2026-06-20","note":"婚礼","createdAt":"2026-06-20T10:00:00Z"}}

六、总结

API设计的核心原则:

  1. 资源命名用复数/api/books而不是/api/book
  2. 使用标准HTTP方法:GET/POST/PUT/DELETE
  3. 状态码语义化:用标准HTTP状态码
  4. 错误信息清晰:告诉用户哪里错了、怎么改

遵循这些规范,API会更容易维护,也更容易被前端调用。

http://www.jsqmd.com/news/1082523/

相关文章:

  • 4G+LoRa远程土壤监测系统设计与实现
  • 2026年自动化运维产品深度对比:破解异构架构与合规高效双重挑战
  • 创建vue3项目(使用vite) + 配置路由router
  • Windows热键侦探:快速定位热键冲突的完整解决方案
  • 2025年最强网盘直链下载工具:LinkSwift全面使用手册
  • 告别文献管理噩梦:WPS-Zotero插件如何让你的科研写作效率提升10倍
  • 计算机Java毕设实战-基于 SpringBoot 的智慧旅游推荐平台的设计与实现 基于 SpringBoot 的旅游信息推荐系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 计算机毕业设计之基于微信小程序的校园订餐配送系统的设计与实现
  • 【Ultra-Fusion】一套后端通吃轮式/四足/无人机:因子级退化调度+在线时空校准,60+系统对比全SOTA
  • 如何快速掌握STDF-Viewer:半导体测试数据可视化的终极指南
  • 树莓派5搭载Hailo NPU部署本地大语言模型实战指南
  • MetaboAnalystR 代谢组学分析终极指南:从入门到精通
  • 从零搭建Fastjson 1.2.24反序列化漏洞靶场:原理、实战与深度避坑
  • 4G MQTT物联网气象监测终端设计与优化
  • GARbro终极指南:5个简单步骤掌握视觉小说资源提取神器
  • 系统高可用架构实战:从原理到实践构建安全岛保障业务连续性
  • ExtractorSharp深度解析:3个秘诀掌握游戏资源编辑核心技术
  • TQVaultAE:泰坦之旅终极物品管理工具完整使用指南
  • 如何彻底改造宝可梦游戏:Universal Pokemon Randomizer ZX完全指南
  • MetaboAnalystR 4.0终极指南:3步掌握代谢组学数据分析神器
  • 如何在浏览器中快速实现PDF扫描效果?LookScanned.io终极指南
  • unity资源 鱼类 海鸥 飞鸟 蝴蝶 荷花池塘
  • Deceive完全指南:5分钟掌握游戏隐身技术,轻松保护你的在线隐私
  • Android Studio中文界面5分钟速成指南:让开发回归母语舒适区
  • pytest框架---fixture固件
  • CORS安全配置实战:从漏洞原理到Nginx与Spring Boot修复指南
  • Cura 3D切片软件:为什么它是开源3D打印的最佳选择
  • STM32F103冗余电阻设计:提升系统可靠性的关键细节
  • Paperxie 图书专著智能写作:三步搭建长篇著作,破解十万字学术创作瓶颈
  • 离石 KTV 卡包音箱