接上篇 HTTP-API-DESIGN 怎样设计一个合理的 HTTP API (一) 整个 ppt 可以去这里下载. 这一篇主要从服务端应该如何返回合理的返回值的角度,讨论如何设计一个合理的 HTTP-API: 主要有以下几个方面: 为每个资源,分配一个 Resource ID(UUID) 使用统一的时间戳 正确地使用外键 将错误响应信息标准化 对客户端进行流量控制 将发返回的 JSON “最小化” 为每个资源,分配一个 Resource ID(UUID) 返回的结果中,需要为每一个“资源”(用…
使用MATLAB 2019 App Design 工具设计一个 电子日记App1.1 前言:由于信号与系统课程需要,因此下载了MATLAB软件,加之对新款的执着追求,通过一些渠道,下载了MATLAB 2019专业版.在使用过程中我发现该软件居然内含一款app设计工具,回想起之前使用Java swing编写用户交互时按照坐标确定模块位置时的苦涩,该工具的拖拉式布局极大的吸引了我,而且添加了回调函数功能,这一低门槛让许多不懂得编程的同学也有了编写个性化程序的可能,于是本着"君子动手不动口的原则&qu…
1.背景 1.1 什么是API网关 API网关可以看做系统与外界联通的入口,我们可以在网关进行处理一些非业务逻辑的逻辑,比如权限验证,监控,缓存,请求路由等等. 1.2 为什么需要API网关 RPC协议转成HTTP. 由于在内部开发中我们都是以RPC协议(thrift or dubbo)去做开发,暴露给内部服务,当外部服务需要使用这个接口的时候往往需要将RPC协议转换成HTTP协议. 请求路由 在我们的系统中由于同一个接口新老两套系统都在使用,我们需要根据请求上下文将请求路由到对应的接口. 统一…
在日常开发中,总会接触到各种接口.前后端数据传输接口,第三方业务平台接口.一个平台的前后端数据传输接口一般都会在内网环境下通信,而且会使用安全框架,所以安全性可以得到很好的保护.这篇文章重点讨论一下提供给第三方平台的业务接口应当如何设计?我们应该考虑哪些问题? 主要从以上三个方面来设计一个安全的API接口. 一 安全性问题 安全性问题是一个接口必须要保证的规范.如果接口保证不了安全性,那么你的接口相当于直接暴露在公网环境中任人蹂躏. 1.1 调用接口的先决条件-token 获取token一般会涉…
参考网址:http://url.cn/5UaTeyv 前言 在设计接口时,有很多因素要考虑,如接口的业务定位,接口的安全性,接口的可扩展性.接口的稳定性.接口的跨域性.接口的协议规则.接口的路径规则.接口单一原则.接口过滤和接口组合等诸多因素,本篇文章将简要分析这些因素. 一.规范性建议 1.职责原则 在设计接口时,必须明确接口的职责,即接口类型,接口应解决什么业务问题等. 2.单一性原则 在明确接口职责的条件下,尽量做到接口单一,即一个接口只做一件事,而非两件以上.很多非资深接口设计者,在设计…
这个附件的幻灯片是我最近给团队分享关于设计 HTTP API 的时候,结合 这篇 和我们团队历史上的一些错误,总结出来一些适合内部的经验. 简介. 这次分享主要关注以下几部分: HTTP + JSON API 的最佳实践 更关注 API 使用和概念上的一致性 这些使用上的经验,并不是最终的.唯一的解决方案 同时也无法处理任意环境中遇到的全部问题 同时还会举出一些 badcase,这些 badcase 一般是我负责的或者开发的服务中遇到的问题. 背景知识. 在 HTTP API 实践中,涉及到了以…
1.API接口应该尽量兼容之前的版本,在URL上应保留版本号,并同时兼容多个版本 2.每一个URI代表一个资源 3.请求方式要与http请求方式一致,GET(获取),POST(新增),PUT(更新全部),PATCH(更新部分),DELETE(删除) 4.应提供查询参数,如:limit,count,orderby,page 5.状态码应和http状态码保持一致,2**(成功),3**(重定向),4**(客户端错误),5**(服务器错误) 6.返回结果针对不同操作 [GET] /{version}/…
阅读目录 前言 六边形架构 终于开始建项目了 DDD中的3个臭皮匠 CQRS(Command Query Responsibility Segregation) 结语 一.前言 上一篇我们讲了DDD的核心概念(附上链接),并且设计了我们的上下文映射图,那么接下来就准备开始立项了,本篇文章的部分知识点可能对一部分人来说比较基础,可以选择性的阅读. 在这之前我们平常用的最多的应该就是3层架构了,这里也不展开描述了,大家都是在3层的陪伴下一路走来的~ DDD所使用的传统分层架构是松散分层,也就是上层可…
如何设计一个优秀的API - 文章 - 伯乐在线 http://blog.jobbole.com/42317/ 如何设计一个优秀的API - 标点符 https://www.biaodianfu.com/how-to-design-a-good-api.html MediaWiki API help - Wikipedia https://en.wikipedia.org/w/api.php 如何设计一个优秀的API 2013年6月28日  21 sec read 到目前为止,已经负责API接近…
沟通创造价值,分享带来快乐.这里是程序员阅读时间,每天和你分享读书心得,欢迎您每天和我一起精进.今天和大家一起讨论的话题是如何设计一个良好的API接口? 作者:梁桂钊 解读:张飞洪 挑战 API是软件系统的核心,而我们在设计API接口的时候会面临着非常多的挑战: 场景上来看,它是多样的,如何设计一个随处适用的API? 我们所参与的业务不断演进的,如何设计一个有兼容性的API? 我们的软件流程是协同开发的,那我们如何实现对API的统一认知? 今天我想和大家探讨一下如何设计一个良好的API接口,我觉…