童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

产品经理须知API接口知识小结

4月24日 霸鲸观投稿
  随着产品职能的逐步细分,中后台产品经理,尤其是负责开放平台相关的,日常工作主要是围绕API接口进行,所以更是需要能理解API接口,因为接口的职能是系统的输出表现。本文就关于产品经理需要了解的接口相关知识进行小结。
  应用程序接口API(ApplicationProgrammingInterface),是提供特定业务输出能力、连接不同系统的一种约定。这里包括外部系统与提供服务的系统(中后台系统)或后台不同系统之间的交互点。包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。
  本文站在产品经理角度由浅入深讲述接口相关知识。如果不想被视为技术大佬眼中什么都不懂的需求搬运工,清楚接口的相关知识是很有必要的。
  常见web接口是httphttps协议的接口,多用于外部系统或前端系统的调用,因为此类接口地址要暴露在外部,所以必须对接口的安全性做较高程度的校验。还要一种基于开源rpc构建的跨系统接口调用接口方案,此类主要用于大公司内网各系统间的互相调用,此类接口服务治理能力更强,接口相应速度更块。以下内容以http接口为例展开的讨论。
  一、接口请求方式类型
  常见的http请求方式包括:get(查)、post(增),除此之外还有put(改)、delete(删)等。接口所属类型是由业务决定的。比如你打开淘宝,展示的首页内容就需要用到get接口,获取页面信息,你看中了宝贝要下单,添加你的收获地址时,用的则是post接口。而这两种也是其中最常见的两种接口类型
  1)get类型接口
  格式:请求数参数写在网址后面,用”?”连接,多个参数之间用””连接。
  场景:get型接口用于获取信息,多用于查询数据,如菜单列表展示,搜索展示,订单查询,优惠券查询等需要其他系统返回数据时使用。一般情况下请求的数据量较小,返回速度快,不过接口是暴露在外面的,所以会有一定的风险。
  2)post型接口
  说明:向指定资源位置提交数据(如提交表单、上传文件)来进行请求,post请求可能会导致新资源的建立。
  场景:如注册、上传、发帖等功能,这种请求数据量大,安全性要求高。
  其他接口类型如put(改)、delete(删)、patch等使用评率稍低一些,此处不再赘述。
  二、接口响应机制类型
  从返回上区分,分为同步接口、异步接口
  1)同步交互
  指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;
  比如登录接口,执行登录操作时,将用户名、密码、token等字段加密后通过接口校验,需要返回验证结果后,才能登录成功。
  2)异步交互
  指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。
  如用户领导优惠券,只需要将用户的领券行为请求成功,资产系统收到请求后异步操作用户发券,通过异步的方法执行发券,调用方无须等待每个请求的调用结果。
  区别:一个需要等待,一个不需要等待,在不影响用户体验的情况下,我们的项目开发中一般会优先选择不需要等待的异步交互方式。
  哪些情况建议使用同步交互呢?比如用户登录、银行的转账系统,对数据库的保存操作等等,都会使用同步交互操作,其余情况都优先使用异步交互。
  三、接口的触发形式类型
  1)分发接口
  一个系统产生新数据的时候就分发给其它系统(也可以是多个)。
  中台系统的核心思想是高内聚、低耦合,所以分发接口的使用场景还是比较多的。比如有一个主渠道系统来管理所有的渠道数据,而渠道数据是其他系统如商品系统、促销系统经常要使用到的信息。所以一旦出现新的渠道或者发生渠道变更,需要分发给其他所有对接了各个系统,实现对最新渠道的功能支撑。
  2)订阅接口
  一个系统在需要的时候调用其他系统的接口进行数据订阅。
  比如订单系统生成订单时,因为很多外部系统可能需要及时获取订单状态信息。而订单系统也不知道要分发给哪些系统,这时候一般会将订单推送至特定的消息队列,比如KFK,其他由需要跟进订单状态的的系统订阅KFK消息后,可以即使获取订单完成信息,进行触发下一个动作。
  四、其他API接口基本组成
  再既定的业务下,接口请求类型、响应机制等确定后,再以微信支付API为例,了解下接口的其他组成内容。
  1)应用场景
  顾名思义,此接口适用于的场景,明确接口的业务用途。
  2)入参及出参
  入参是接口请求所需要的变量参数,其中包括必填参数和非必填参数,非必填并非是可以忽略的,比如上面的入参中,签名类型为非必填,如果未传此参数,则默认此签名类型为MD5,如果使用的并非此类签名类型,则此项为必填项。如果是普通订单查询,入参时间非必填,则返回结果是用户全部订单,或者用户特定时间订单的区别。
  3)错误码
  接口请求并非每次都能成功,所以在接口开发时会对可能失败的情况进行错误码区分,在接口联调时可以根据返回的错误码快递定位问题。如果错误码不够全面,那在接口调用失败的时候,需要反复定位,降低开发效率。
  五、接口安全性校验
  接口完成业务逻辑开发后,接下来要考虑的就是安全性问题了,接口的安全性问题主要来源于几方面考虑:
  1)请求来源是否合法?
  即接口的伪装攻击,因为接口是对外的,在公网环境中,接口地址是暴露的,收到的请求有可能是恶意非法请求;如果真的是合法请求,也需要知道这个请求的来源,同时这个请求来源不能否认。这里引入“签名”的概念,以及签名的防伪装及抗否认性特性。
  近些年各大企业强制使用https替换掉原有的http接口,正是因为https所使用的的证书安全性更高。
  2)请求是否会被篡改,返回数据可能会被截取
  因为接口是对外的,所以接收请求和返回数据的时候,是不可能使用明文方式传输的,否则一旦被恶意截取,会造成极大风险。所以请求数据及返回数据都是需要加密的,这样即使数据被截取,也不用泄露数据的内容。这里介绍几种现在常见的加密方法。
  DES(DataEncryptionStandard):数据加密标准,速度较快,适用于加密大量数据的场合;
  3DES(TripleDES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;
  RSA:非对称加密,由RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;既可以实现加密,又可以实现签名。
  如果是用户账号相关,现在会使用token加密用户信息,用户请求身份信息时,服务端会分配token存在缓存中,后续请求会将token与时间戳一起打包加密,这样即使请求数据被截获,因为不知道token的值,数据也不会被解析出来。
  3)如何防范接口的重放攻击,防重放攻击是什么呢?
  就是把你的请求原封不动地多次发放,请求都会通过验证进入到正常逻辑中,会造成服务端接口拥堵并且会造成实际损失。
  防重放一般需在请求参数加上时间戳随机数,通过时间戳确保接口是最新的请求,而随机数相同则可以认定为是重放攻击。
  六、接口性能相关
  如果是访问量比较大的接口,再上线前肯定需要进行压力测试。因为普通的开发自测和生产模拟是不能推算出高并发时候接口是否可正常运行。
  1)TPS
  TransactionPerSecond每秒系统处理的交易或事物的数量,衡量系统处理能力的重要指标。
  2)RT
  响应时间,从客户端发送一个请求开始,到客户端接收到从服务器返回的响应结果结束所经历的时间,包括请求发送时间,网络传输时间和服务器处理时间三部分。
  3)吞吐量
  指的是在一次性能测试过程中网络上传输的数据量的总和。
  用户的响应时间自不必说,时间太久伤用户体验,及时处于高并发期,用户的响应时间依然需要控制到最低,一般不超过5s;
  tps则是高并发的指标,一般提供服务的接口,需要考虑到最极端情况下的并发数,这些数量一般来自于运营的活动策划和往期的数据趋势预估,以此为依据,保证自己的接口可以支持最高的并发数,而验证这些使用的一般是压力测试。如正常情况下压测时tps可以达到2000时接口正常,就可以保证2000的实际并发。
  七、接口需要做哪些测试
  接口测试其实是白盒测试,首页要明确系统的能力输出,明确服务覆盖是否满足需求。以业务逻辑推接口参数。
  1)入参不符合要求需要有明确错误码,报错信息和日志,方便问题复现与定位。
  2)如果另有参数处理逻辑的链路,也需要一并验证,如购买网易云音乐会员,订单生成后会去权益系统加权,加权成功后会有短信通知用户,但加权接口和订单信息中都没有用户手机号,所以虽然入参中没有用户手机号,但需要根据用户的username去查询手机号,并执行短信发放的操作。
  其他验证目标如:代码覆盖率是否达到要求、性能指标是否满足要求、安全指标是否满足要求则是更为专业性的测试指标了。
投诉 评论 转载

一个野生产品的成长之路我不去想是否能够成功,既然选择了远方,便只顾风雨兼程。很多朋友对我不太了解,今天给大家介绍一下我的产品经历。我没有做出过知名产品,也没有大厂经历,反而有过两段失败的……产品小白须知:如何用原型体现你的专业度?笔者从整体上讲了画原型这件事的要点,以及如何通过画原型体现出产品经理的专业性。记得面试产品时,面试官曾经提过一个问题:“你觉得身为产品经理,你的专业性是如何体现的?”……2020年,产品经理们的出路在哪里?希望在2020年,即使处于小周期尾部的大环境愈发恶化,头脑清晰、思维敏捷、能力卓越的产品经理们依然能够逆风而行,不断生产新的价值!2019年,大批的创业型公司裁员倒闭,很……产品经理说不指南作为产品经理,我们必须学会对反馈者说不。了解如何掌握以同理心说不的艺术,这样有利于我们与同事或用户保持积极的关系,并能让这些无用的想法无法困扰我们。常遇到的情景产品……转行商业化产品经理的6个瞬间从用户产品经理转行到商业化产品经理,作者与我们分享了他在工作上的一些所思所想。国庆前,我是一家垂直领域Top1互联网公司的产品经理,国庆后,我敲开了商业化产品经理的大门,……关于企业微信和共享单车,我有几点思考文章分享了作者对企业微信未来发展和共享单车停车问题的几点思考,希望可以给在产品路上的各位PM带来一些启发。01企业微信这几个字这段时间很火对吧,甚至很多人开始建企业……成本评估,这4个方面需要注意成本评估,决定着产品的盈利能力,在产品经理的工作职能里占了非常大的比重,相信大家都有共识。甚至有客户会要求提供成本清单,这就需要在成本核算上做到更加细致和保证准确性,本文列举了……企业系统需求分析01篇做任何产品,不能直接了解需求,这样容易陷入细节,而偏离整体项目。当你的目标不明确时,你需要了解清楚现状:问题和机会是什么?有什么影响?再确定解决方案,有效进行需求分析。“……一个被68。62产品经理忽略的利器“邮件“也是产品经理非常有效的利器之一,它能够“帮助”产品经理有效推动项目,还能激励项目组成员,信息传达时减少沟通漏斗,提高沟通效率。当今很多企业喜欢用TIM,微信来进行……B端C端中,产品or运营哪个更重要?本文分析了C端B端产品的特性,以及它们是该重产品还是重运营。在业绩指标面前,产品经理和运营也是相爱相杀的一对。达标了,那是因为自己做得好;没达标,那是因为对方太烂了。……从梁宁“识人五层次”说陌生人社交作者学习了梁宁的《产品思维30讲》,从中认识到“人和产品的五个层次”,就此与陌生人社交的过程,分析五个层次如何层层递进。梁宁在《产品思维30讲》的第2讲中说到了一个她朋友……产品经理须知API接口知识小结随着产品职能的逐步细分,中后台产品经理,尤其是负责开放平台相关的,日常工作主要是围绕API接口进行,所以更是需要能理解API接口,因为接口的职能是系统的输出表现。本文就关于产品……
未来10年,B端产品走向平台化给需求分级,让产品优化不再无从下手以个人公众号为例,解析产品设计业务需求分析模型淘宝双十一活动分析双11“全民合伙人”活动,居然有这么多设计细节?5个要点,细数B端G端监控体系设计界面设计:设计没亮点怎么办?(下)支付系统的基础层面和入门B端OMS系统设计:产品结构与流程互联网医疗:处方流转的平台模式和发展方向关于数据埋点采集,你需要了解这些透过“soul”功能变化,看产品功能的发展史于吴声处吴迎秋红旗走在准确的道路上比什么都重要改善智力有助于老人延缓衰老产业链初构中国公司颠覆尚早抖音生活服务推出新开酒店商家扶持政策蜗牛观察日记洗脸巾可以当纱布吗医用纱布不能随意被代替打佩恩是第几集(佩恩打鸣人多少集)小学生写景作文范文300字小学生写景作文10篇天脚板颈椎疼怎么缓解(颈椎特别疼的严重怎么办)设计师工作总结离婚证书

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界