网站的空间与域名,企业服务平台介绍,网站优化 seo和sem,西宁网络公司做网站哪家好一个优雅的接口要如何设计#xff1f;有哪些设计规范可以遵循#xff1f; 下面抛砖引玉#xff0c;分享一些规范。 目录 1、RESTful API 设计最佳实践 2、Shneiderman 的 8 条黄金法则 3、Nielsen 的 10 条启发式规则 1、RESTful API 设计最佳实践 一共18条#xff0c;参考… 一个优雅的接口要如何设计有哪些设计规范可以遵循 下面抛砖引玉分享一些规范。 目录 1、RESTful API 设计最佳实践 2、Shneiderman 的 8 条黄金法则 3、Nielsen 的 10 条启发式规则 1、RESTful API 设计最佳实践 一共18条参考了网上流传的18条规范并加以整理基于 RESTful 规范源自微服务经验和企业实践。 包括了安全性、稳定性、可靠性、可拓展性、一致性、可维护型、高性能设计等方面。 适用于日常API开发但要值得注意的是通常接口开发的“快且正确的完成业务”优先级最高。 一个小的设计哲学口号快速、可靠、优质 签名 指通过签名如 HMAC-SHA256验证请求的完整性和来源常见于安全设计。来源API 安全最佳实践。 加密 数据传输使用 HTTPS或对敏感字段加密如 AES。来源网络安全规范。 IP 白名单 限制接口访问仅允许特定 IP提升安全性。来源服务端安全策略。 限流 通过令牌桶或漏桶算法限制请求频率防止接口被滥用。来源系统稳定性设计如 Rate Limiting。 参数校验 对输入参数进行验证如非空、格式避免非法请求。来源《阿里巴巴 Java 开发手册》或其他开发规范。 统一返回值 返回格式一致如 JSON含 code、message、data便于调用方解析。来源RESTful API 设计准则。 统一封装异常 通过全局异常处理器返回标准错误响应。来源Java 开发最佳实践。 请求日志 记录请求信息如时间、参数、IP便于追踪和调试。来源运维和日志管理规范。 幂等设计 确保重复请求不产生副作用如使用唯一标识。来源RESTful API 设计原则。 限制记录条数 分页接口限制返回条数如默认 20 条避免性能问题。来源数据库查询优化。 压测 接口上线前进行压力测试确保性能和稳定性。来源软件测试规范。 异步处理 耗时操作使用异步如消息队列提升响应速度。来源高并发系统设计。 数据脱敏 对敏感数据如手机号脱敏显示保护隐私。来源数据安全和合规性要求如 GDPR。 完整的接口文档 提供详细的 API 文档如 Swagger包括参数、示例等。来源API 开发规范。 请求方式 使用合适的 HTTP 方法如 GET、POST、PUT、DELETE。来源RESTful API 规范。 请求头 定义标准请求头如 Content-Type、Authorization。来源HTTP 协议和 API 设计。 批量操作 支持批量请求减少网络开销。来源性能优化实践。 职责单一 接口功能单一避免“大杂烩”设计。来源SOLID 原则单一职责原则。 2、Shneiderman 的 8 条黄金法则 源自《Designing the User Interface》这些法则最初针对图形用户界面GUI设计但也广泛适用于 API 接口、Web 页面、移动应用等。 保持一致性Strive for Consistency 界面风格、术语、布局、操作应在整个系统中保持一致。例如按钮样式、颜色、命名等应统一避免用户混淆。示例所有“保存”按钮都使用绿色且位于右下角。 支持快捷操作Enable Frequent Users to Use Shortcuts 为熟练用户提供快捷方式如键盘快捷键、命令行提高效率。示例CtrlS 保存CtrlC 复制。 提供信息反馈Offer Informative Feedback 对用户的每个操作提供及时、清晰的反馈告知结果或状态。示例点击“提交”后显示“提交成功”或“正在处理”提示。 设计对话框以体现完成感Design Dialogs to Yield Closure 操作流程应有明确的开始、中间和结束让用户感到任务已完成。示例表单提交后显示“感谢您的提交”并关闭窗口。 预防和处理错误Offer Error Prevention and Simple Error Handling 设计时尽量避免用户犯错发生错误时提供简单易懂的解决方法。示例输入框限制只能输入数字或错误时提示“请输入有效邮箱”。 支持撤销和重做Permit Easy Reversal of Actions 用户应能轻松撤销误操作降低操作压力。示例删除文件后提供“撤销”选项。 增强用户控制感Support Internal Locus of Control 让用户感觉自己在掌控系统而不是被系统牵制。示例允许用户随时取消长时间运行的任务。 减少短期记忆负担Reduce Short-Term Memory Load 界面设计应避免用户记住过多信息提供提示或默认值。示例表单自动填充常用选项而不是让用户每次手动输入。 3、Nielsen 的 10 条启发式规则 源自 Nielsen Norman Group官网这些规则广泛应用于 UI/UX 设计包括网站、移动应用、软件界面等。虽然主要针对用户界面但部分原则如一致性、错误处理也可启发 API 设计。 系统状态可见性Visibility of System Status 用户应随时知道系统当前状态提供及时反馈。示例上传文件时显示进度条。 系统与现实匹配Match Between System and the Real World 使用用户熟悉的语言和概念避免技术术语。示例购物车图标表示“添加购物车”。 用户控制与自由User Control and Freedom 提供撤销和重做功能让用户能纠正错误。示例浏览器中的“后退”按钮。 一致性与标准Consistency and Standards 界面元素、术语和行为应保持一致遵循行业标准。示例所有页面顶部都有导航栏。 错误预防Error Prevention 设计时避免用户犯错提供约束或确认机制。示例提交表单前要求确认。 识别优于回忆Recognition Rather than Recall 减少用户记忆负担提供可见的选项或提示。示例下拉菜单代替手动输入日期。 灵活性与效率Flexibility and Efficiency of Use 满足新手和专家需求支持快捷方式。示例支持鼠标点击和键盘快捷键。 简洁美观的设计Aesthetic and Minimalist Design 只显示相关信息避免无关内容干扰。示例登录页面只包含用户名和密码字段。 帮助用户识别、诊断和恢复错误Help Users Recognize, Diagnose, and Recover from Errors 错误信息应清晰易懂并提供解决方案。示例“密码错误请重试或点击‘忘记密码’”。 帮助与文档Help and Documentation 提供易于搜索和理解的帮助文档。