如何设计一个好的RESTful开放API平台
需要考虑的要素有: *)易于维护 设计上要简洁有效。尽量把公共逻辑用组件的形式实现。这样就要求设计一个基础逻辑实现层。具体的业务逻辑在这个公用层上作特定的扩展。 基础逻辑包括过滤、排序、url参数处理(parse and sanity)、日志处理. *)安全 尽可能使用标准的安全协议比如OAuth,这样在跨系统对接时会有更好的兼容性。 在OAuth之上,我们可以按照业务需求扩展更多的安全因素比如throttle,blacklist等 安全应该区分成两层,一层是认证授权,一层是安全控制。安全控制建立在认证授权之上。 *)可配置 哪些controllers/actions是需要做安全验证的,哪些是需要访问频率控制的。这些都应该放在Configuration中而不是hardcode. *)可管理 需要提供管理后台,方便对配置进行管理、对API使用者进行管理、对API使用情况进行统计/监控。 *)支持多种格式 格式在接口url中以format后缀来指定比如jigoapps.com/cases.format(format would be one of xml/json/rss...) *)支持多语言 *)支持Multi-Themes 如果内容组织格式发生变化,应该可以通过新建一个theme来轻易实现,这样可以不影响原有老的实现。 *)支持海量数据分页 *)可测试 *)读写分离 *)分级缓存 *)RESTful 设计url时不要忘记遵循RESTful的风格,资源加操作。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |