最近时不时的需要给其他部门提供数据接口,遇到了些问题教训,总结一下:

1、接口尽量采用通用标准,如http接口;数据格式也是如此,如json。一个老系统使用了非标准json,如{code:0,total:10},导致最近在迁移系统时出现了兼容问题,给第三方也给自己带来了很大麻烦。

2、接口尽量保持最小化。比如提供页面pvuv数据,那么接口中就只要2个数据项即可,至于由此衍生出来的什么同比环比之类的数据,就不需要放入接口中了,第三方使用者可以根据需要自己去做计算。

3、接口不是越多越好。同样一个数据,如果存在多个不同的接口,有可能出现计算方式的不一致导致数据不一致;多个接口也带来维护上的麻烦。比如现在有了一个提供分钟级流量数据的接口,第三方如果需要半小时或一小时级别的数据,就不用再额外开发新接口,直接使用分钟级接口进行半小时或一小时汇总即可。

转载于:https://www.cnblogs.com/csbird/archive/2013/02/03/2891225.html

接口设计的一些小总结相关推荐

  1. 聊聊接口设计的36个小技巧

    前言 大家好,作为后端开发,不管是什么语言,Java.Go还是C++,其背后的后端思想都是类似的.后面打算出一个后端思想的技术专栏,主要包括后端的一些设计.或者后端规范相关的,希望对大家日常工作有帮助 ...

  2. 优秀的API接口设计原则及方法

    一旦API发生变化,就可能对相关的调用者带来巨大的代价,用户需要排查所有调用的代码,需要调整所有与之相关的部分,这些工作对他们来说都是额外的.如果辛辛苦苦完成这些以后,还发现了相关的bug,那对用户的 ...

  3. 抽象类和接口设计_如何设计类和接口

    抽象类和接口设计 本文是我们名为" 高级Java "的学院课程的一部分. 本课程旨在帮助您最有效地使用Java. 它讨论了高级主题,包括对象创建,并发,序列化,反射等. 它将指导您 ...

  4. 软件接口设计_基于PREEvision的AUTOSAR Adaptive设计——上篇

    AUTOSAR Adaptive概述 2003年,汽车行业的高端玩家们发起了汽车嵌入式系统软件架构标准化项目--AUTOSAR(汽车开放系统架构).2017年,为适应汽车的发展趋势(智能化.网联化等) ...

  5. 对系统组件化接口设计的一点看法

    今天海浪分享一篇对系统组件化接口设计的一点看法.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:of ...

  6. 电子商务系统的设计与实现(五):账务系统的功能接口设计

    2019独角兽企业重金招聘Python工程师标准>>> 电商系统.p2p网贷系统.第三方支付都可以有自己的账务系统, 账务系统与用户系统可以完全独立,不需要用户ID等信息,只提供给其 ...

  7. 我的最新分词进展和接口设计~

    以前写了个关于MMSEG实现的,那个写的很烂,本身我也没有实现完全.最近在工作中对原有系统的分词进行了代码重构和算法优化.并且针对电子商务网站搜索的特征,给出对于离线没有识别出歧义的片段进行全切分,而 ...

  8. android 首页接口设计方案,Android开发最佳实践——1.接口设计

    Android开发最佳实践--1.接口设计 一个项目刚开始的时候,最需要确认的就是接口设计了:数据如何传递,使用什么格式什么协议乃至如何保证安全性.如果一个项目的接口设计不合理--比如没有考虑到安全性 ...

  9. python什么是接口设计_给女朋友讲什么叫接口设计!

    首先介绍一个库,Python 中有一个模块叫 turtle,是一个图形库,可以用来画一些简单的形状.我将基于这个图形库教会大家如何做接口设计. 先来创建一个 turtle 对象. import tur ...

  10. finclip设计指南与小程序设计指南

    FinClip = Finogeeks + Clips,是由凡泰极客团队开发,"Fin"是公司凡泰极客公司英文名称 Finogeeks 的缩写,Clip 则来自 Apple 公司在 ...

最新文章

  1. C语言中链表的英文名字,数据结构C语言版 循环链表表示和实现(国外英文).doc
  2. Tomcat介绍及性能优化
  3. 社交产品后端架构设计--转载
  4. 2263: neighbor(贪心)
  5. 使用绑定进行WPF DataGrid格式化的指南
  6. 敏捷开发一千零一问系列之十二:敏捷实施的步骤?
  7. python vector 初始化_一文带你走进Python中的数据类
  8. 波士顿动力机器狗解锁“自动驾驶”,会跑步的Atlas真的很稳
  9. 工作七年,从实习生到测试主管,我认识到倾听对一个人有多重要!
  10. StackExchange.Redis 使用LuaScript脚本模糊查询hash
  11. 基于Java的博客系统
  12. Python Selenium的下载和安装
  13. Cox模型中的时间依存协变量和时间依存系数(R语言)第一部分
  14. 两台服务器联通如何配置文件,两个服务器之间数据库怎么连接
  15. 【数字电子技术基础】数字电子钟设计
  16. 版本控制管理工具Git/SVN
  17. AI产品经理入门手册(上)
  18. 【读点论文】EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks网络结构要像身材一样匀称且体量和处理能力匹配
  19. 计算机网络自顶向下-复习
  20. LJ5.1 - 水下可见光通信UVLC研究进展

热门文章

  1. 最全的HTTP1.1状态码
  2. maven夹包引入的速度问题
  3. 一篇别人写的Kmp算法的讲解,多看多得
  4. 关于ajax表单提交.serialize()
  5. css3 实现图片旋转
  6. HDU 5009 Paint Pearls
  7. javascript实现数据结构:广义表
  8. 有关parent.frame.cols在firefox浏览器上不兼容的问题解决
  9. 滚动吸顶效果--四种方式实现
  10. 微软云中国策略的下一步:驱动AI生态