接口设计的一些小总结
最近时不时的需要给其他部门提供数据接口,遇到了些问题教训,总结一下:
1、接口尽量采用通用标准,如http接口;数据格式也是如此,如json。一个老系统使用了非标准json,如{code:0,total:10},导致最近在迁移系统时出现了兼容问题,给第三方也给自己带来了很大麻烦。
2、接口尽量保持最小化。比如提供页面pvuv数据,那么接口中就只要2个数据项即可,至于由此衍生出来的什么同比环比之类的数据,就不需要放入接口中了,第三方使用者可以根据需要自己去做计算。
3、接口不是越多越好。同样一个数据,如果存在多个不同的接口,有可能出现计算方式的不一致导致数据不一致;多个接口也带来维护上的麻烦。比如现在有了一个提供分钟级流量数据的接口,第三方如果需要半小时或一小时级别的数据,就不用再额外开发新接口,直接使用分钟级接口进行半小时或一小时汇总即可。
转载于:https://www.cnblogs.com/csbird/archive/2013/02/03/2891225.html
接口设计的一些小总结相关推荐
- 聊聊接口设计的36个小技巧
前言 大家好,作为后端开发,不管是什么语言,Java.Go还是C++,其背后的后端思想都是类似的.后面打算出一个后端思想的技术专栏,主要包括后端的一些设计.或者后端规范相关的,希望对大家日常工作有帮助 ...
- 优秀的API接口设计原则及方法
一旦API发生变化,就可能对相关的调用者带来巨大的代价,用户需要排查所有调用的代码,需要调整所有与之相关的部分,这些工作对他们来说都是额外的.如果辛辛苦苦完成这些以后,还发现了相关的bug,那对用户的 ...
- 抽象类和接口设计_如何设计类和接口
抽象类和接口设计 本文是我们名为" 高级Java "的学院课程的一部分. 本课程旨在帮助您最有效地使用Java. 它讨论了高级主题,包括对象创建,并发,序列化,反射等. 它将指导您 ...
- 软件接口设计_基于PREEvision的AUTOSAR Adaptive设计——上篇
AUTOSAR Adaptive概述 2003年,汽车行业的高端玩家们发起了汽车嵌入式系统软件架构标准化项目--AUTOSAR(汽车开放系统架构).2017年,为适应汽车的发展趋势(智能化.网联化等) ...
- 对系统组件化接口设计的一点看法
今天海浪分享一篇对系统组件化接口设计的一点看法.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:of ...
- 电子商务系统的设计与实现(五):账务系统的功能接口设计
2019独角兽企业重金招聘Python工程师标准>>> 电商系统.p2p网贷系统.第三方支付都可以有自己的账务系统, 账务系统与用户系统可以完全独立,不需要用户ID等信息,只提供给其 ...
- 我的最新分词进展和接口设计~
以前写了个关于MMSEG实现的,那个写的很烂,本身我也没有实现完全.最近在工作中对原有系统的分词进行了代码重构和算法优化.并且针对电子商务网站搜索的特征,给出对于离线没有识别出歧义的片段进行全切分,而 ...
- android 首页接口设计方案,Android开发最佳实践——1.接口设计
Android开发最佳实践--1.接口设计 一个项目刚开始的时候,最需要确认的就是接口设计了:数据如何传递,使用什么格式什么协议乃至如何保证安全性.如果一个项目的接口设计不合理--比如没有考虑到安全性 ...
- python什么是接口设计_给女朋友讲什么叫接口设计!
首先介绍一个库,Python 中有一个模块叫 turtle,是一个图形库,可以用来画一些简单的形状.我将基于这个图形库教会大家如何做接口设计. 先来创建一个 turtle 对象. import tur ...
- finclip设计指南与小程序设计指南
FinClip = Finogeeks + Clips,是由凡泰极客团队开发,"Fin"是公司凡泰极客公司英文名称 Finogeeks 的缩写,Clip 则来自 Apple 公司在 ...
最新文章
- C语言中链表的英文名字,数据结构C语言版 循环链表表示和实现(国外英文).doc
- Tomcat介绍及性能优化
- 社交产品后端架构设计--转载
- 2263: neighbor(贪心)
- 使用绑定进行WPF DataGrid格式化的指南
- 敏捷开发一千零一问系列之十二:敏捷实施的步骤?
- python vector 初始化_一文带你走进Python中的数据类
- 波士顿动力机器狗解锁“自动驾驶”,会跑步的Atlas真的很稳
- 工作七年,从实习生到测试主管,我认识到倾听对一个人有多重要!
- StackExchange.Redis 使用LuaScript脚本模糊查询hash
- 基于Java的博客系统
- Python Selenium的下载和安装
- Cox模型中的时间依存协变量和时间依存系数(R语言)第一部分
- 两台服务器联通如何配置文件,两个服务器之间数据库怎么连接
- 【数字电子技术基础】数字电子钟设计
- 版本控制管理工具Git/SVN
- AI产品经理入门手册(上)
- 【读点论文】EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks网络结构要像身材一样匀称且体量和处理能力匹配
- 计算机网络自顶向下-复习
- LJ5.1 - 水下可见光通信UVLC研究进展