【交流分享】在管理/使用API时,大家主要会遇到什么问题?

Jeff_fz 2016-01-26 04:16:11
加精
API就像是连接各个应用程序之间的纽带。API愈来愈重要,人们对它的关注度也逐步上升。虽然越来越多的企业都开始通过API开放自己的数据和服务,但是庞大的数据和开放的方式也面临着可控性,安全等诸多问题。希望大家可以分享交流一下日程API管理时会考虑和规避哪些问题,有哪些API设计和管理方面的经验。
话题:
大家对于在日常管理自己的API时会考虑什么问题?

遇到可扩展性、处理流量高峰冗余或其他问题是如何来解决?

或者大家使用别人的API的时候,是否发现过什么问题?


----------------------------------------------------------------------------------------------------
更多移动API集成管理、数据分析技术信息,欢迎关注IBM IT System
...全文
2300 47 打赏 收藏 转发到动态 举报
写回复
用AI写文章
47 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
在用户权限管理上,特别是白名单处理这块,要考虑权限处理,给有关部门开开门,他们要抓取数据检查内容是否健康…海外服务器就无所谓了,根据具体的适用群体进行开放,以防攻击。
区块链论坛 2016-02-02
  • 打赏
  • 举报
回复
在API处理上,前期要考虑哪些数据可以给,哪些数据不能给,不要放出去了再收回来那就很麻烦了。
马Jack 2016-02-02
  • 打赏
  • 举报
回复
当请求一个API的时候,如果没有成功,一定要告诉用户这是为什么,在错误处理.如果接口的client端有这个需求,倾向于直接的返回错误代码,既需要错误处理,又有别的返回参数,返回错误代码,这样结果就一目了然。另外,确定良好的优先级,在不增加过多冗余代码的情况下,尽量让你的接口被调用顺序,不影响逻辑,这样写开发文档也更佳的有条理,用户使用开发文档也方便快捷。
张梦梦等一等 2016-02-02
  • 打赏
  • 举报
回复
有时候我们在设计接口的时候,很多API之间往往是可以复用的,有些事没必要的,所以在设计之初都要考虑清楚,这个接口是不可替代的?这个接口有有没有可能重复? 还有,对于数据处理这块。对很多数据的包装其实要采用很多方式,像接口的输入参数是离散的好,还是打包成结构化数据的好?输出参数也一样?这些前期都要考虑清。离散的多个参数未必不好,封装成结构(类)未必就好
开发者运营 2016-02-02
  • 打赏
  • 举报
回复
在有些设计的时候,一定要做一个底耦合,如尽量拆散一点,最初做API是按着客户端的需求来,客户端要什么就返回什么。后来发现,客户端需求一变,API就废了,根本无法复用。比如登陆接口,客户端要返回用户性别等资料,不要在前期就把框架给限制。 然后,在接口设计中的功能设计上,不向客户端妥协,该有的功能都有,只不过按职能拆分,你需要自己去拼,别妄想一个接口返回多个接口的数据。比如登陆就是登陆,资料就是资料,别想一次返回,该分解的分解。
开发运营者 2016-02-02
  • 打赏
  • 举报
回复
作为一个成型的API还没什么,如果项目刚刚启动,也还没设计完整,那么1.要知道这套API的所有需求是什么;2.类似的API有哪些不合理的地方;3.要能明白,已有的API是怎么设计的
悲弩天弓 2016-02-02
  • 打赏
  • 举报
回复
api不同版本的兼容,文档详细程度,有中文文档就更好
  • 打赏
  • 举报
回复
在API缓存处理这块也是蛮重要的~ 优化性能,做适当的cache,保持在开放出来的API不会重复运算,减少用户在适用过程中对服务器的请求,做好缓存机制
区块链论坛 2016-02-01
  • 打赏
  • 举报
回复
在设计API的时候,很多时候要根据业务本身来思考,决定哪些数据是可以共享的,哪些数据是要封装的,同时还要考虑API设计及时的具体细节,提高整个系统的耦合程度。
明科啦啦啦 2016-02-01
  • 打赏
  • 举报
回复
作为一个在互联网使用需求比较频繁的来说…API无非就是共享服务或者共享数据,少不了这两者,例如调取第三方数据作为查询对象,这块相应来说是比较常见的应用
哈如璐璐 2016-02-01
  • 打赏
  • 举报
回复
在国内很多数据提供商,有些API我都不想吐槽,很多兼容性问题及常见的不规范,在对第三方开发的时候,经常出现要调整,反复调整的情况,而且采用了一个平台之后很难再对接第二个平台,完完全全是垄断的玩法。
哈如璐璐 2016-02-01
  • 打赏
  • 举报
回复
引用 19 楼 nh6fsgiwxbjg_w 的回复:
在API缓存处理这块也是蛮重要的,优化性能,做适当的cache,保持在开放出来的API不会重复运算,减少用户在适用过程中对服务器的请求,做好缓存机制。
视频云论坛 2016-02-01
  • 打赏
  • 举报
回复
设计API时,平时用到的抽象,耦合也是可以用到的,如果有了好的抽象,接口才可能稳定;然后找出完整且最小的接口,那么只要抽象不变,这个接口就绝对稳定;最后,在这个基础之上,做出易用、易理解的接口。
人工智能论坛 2016-02-01
  • 打赏
  • 举报
回复
我们在平时的运用中,特别是最近的调用短信接口这块,碰到很多问题,有时候反应非常慢,有时候还出现错误,所以API设计或管理方面重点还是代码简洁,兼容性高,调用稳定,不然不稳定的东西,很容易出错。
芬兰的光 2016-02-01
  • 打赏
  • 举报
回复
API处理,如果小型的对安全性,便捷性要求不怎么高。如果是大型的API请求,那么分秒之间都要好好提升,优化API的请求,反馈机制
回忆小马甲 2016-02-01
  • 打赏
  • 举报
回复
有些细节API方面,API一定要重要的放前面,也就是重要性递减排序,符合其他惯例,例如符合程序员的逻辑
shynessl 2016-02-01
  • 打赏
  • 举报
回复
在电商数据上,要实现很强大的查询,搜索功能的话,我们一般会把查询的数据缓存在服务器之中,减少数据处理过程中的压力,特别是流量高峰期。
甜甜tianyeaa 2016-02-01
  • 打赏
  • 举报
回复
我觉得,在设计API接口的时候,一定要注意是可读性强,能有可扩展性或者可以为今后实现更强大功能留一些接口函数 在这里强烈的赞赏java的LinkedHashMap实现,也就是为接下来的高可扩展留空间
恩佐小师傅 2016-02-01
  • 打赏
  • 举报
回复
在查询接口的时候,对外共享接口需要对接口行为一致性,不可变性;接口参数、返回值需要具备类型安全特征;接口参数个数限制,如果参数过多可以用辅助类;等一些可扩展的api处理方式,很多API设置都无力吐槽...........
line_us 2016-01-31
  • 打赏
  • 举报
回复
定制的 API其实也都存在扩展性、兼容性的问题
加载更多回复(24)

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧