OpenAPI 简介

天翼云开发者社区
• 阅读 82

本文分享自天翼云开发者社区《OpenAPI 简介》,作者:蔡****钊

一、什么是open API API的全称是应用编程接口(Application Programming Interface),而所谓的open API其实就是一种面向客户的开放接口能力,而对应的客户,从我们以往常规认知的个人产品直接使用用户,变为技术用户。正如很多SaaS是提供具体的某个直接可使用的服务或者能力,open API则是将产品接口化提供类似PaaS类的技术能力。

二、常见的open API能力 你也许觉得open API的能力离我们很远、你也许觉得我们手机上使用的很多应用就是当前使用app 对应的厂商提供的。实际上,他们只是调用底层平台提供的开放平台能力做接入,并实现的。如: 1.地图类 说起地图,相信大家生活中肯定都离不开。比如常用的高德地图做导航,这是最直观的应用。当渗透如我们生活方方面面的还有比如各类打车软件、外卖平台、甚至基于地图的二手交易平台、交友平台等等。这类平台本身不具备地图能力,都是通过调用第三方平台提供的地图能力,对地图进行展示、基于地图能力对车辆所在点、路线等进行叠加的渲染。甚至我们熟知的谷歌地图,也开放了丰富的地图能力。 2.搜索类 搜索类国内最有名的无非是百度、搜狗等平台。他们提供的搜索接口,可以帮助平台站点建立搜索功能,或者对搜索结果进行排序封装。国外典型的例子如google search API, yahoo search API等。 使用方也有如小红书,知乎等,早期可能大家没有搜索能力都会去调用搜索开放平台能力,但平台做大了也可能自己搭建搜索团队。 3.文字资讯类 RSS订阅接口可以成为几乎所有文字资讯类服务的标准API,如各类资讯网站和论坛等。但随着订阅类型的产品逐步减少,这类产品和能力也逐渐减少。但也还有许多专有的API提供专有的文字资讯类服务,例如twitter的API、craigslist的API、豆瓣的API等。 4.用户及关系类 国内最大的社交平台不外乎我们熟知的两大社交软件。其提供的各类分享和好友关系能力,也让很多营销工具、社交玩法有了基础根基。也正是有这些开放平台,让此两个社交软件成为各种涉及大众吃喝玩乐方方面面的应用,都能在这两棵大树上生根发芽,从而也让这两棵大树的根基更加地稳固。 5.电子商务类 此类网站主要围绕企业信息和商品信息展开设计。开放此类接口地目的是为了让外部平台使用获利,从而提高电商网站的用户粘性和销量。最典型的有京东的京粉平台,拼多多的多多进宝。这两个平台提供类似“淘客”的分销分佣模式。当内容或者社交平台有自己的用户时,可以通过电商平台的接口调用展示商品,和提供跳转购买链路。当普通用户通过他们的渠道购买后,平台就能获得电商网站的分佣激励。 6.注册类 还有一类时所有人绕不开但却很不起眼的能力,就是最基础的登录注册能力。包括运营商提供的短信验证码服务,真人图形校验,实名验证等等。

三、挑战 挑战1:选择API设计模式 当你在考虑单个产品的API表现形式时,首先会选择一种具体的API风格,常见的有Remote Procedure Call和 Rest-Oriented Architecture两种模式。不同模式选型意味着后续基础的不同。是最基础的能力决策。 挑战2:面向资源设计 特别对于使用api来访问云服务的过程,本质上是对某种云资源执行特定的操作来完成业务动作。关键在于: 一是要有比较统一的资源模式,才便于进行特定的鉴权。二是要明确资源关系,便于关联鉴权。 挑战3:设计风格 包括如API名称、参数名、属性名、数据格式、错误码等等,都决定了其对外用户使用的风格。要保证命名规范统一、对外易于理解。 挑战4:服务端容错 容错对于业务来说非常重要。你永远无法预测到业务上下游会出现什么情况,对于边界或者异常的场景,都要能做到容错处理,保证业务不会奔溃。 挑战5:版本管理 对于版本迭代中,最最重要的是平滑切换。无论是对老业务接口的兼容,还是新接入的业务,都要能做到兼容平滑。否则对老客户的伤害可能会直接导致我们的业务口碑崩坏。

当然,在做开放平台API时,会遇到更多挑战。但作为to B 的业务,一定要有最强的服务意识,本着给用户提供更优质服务的心,相信就能应对各类挑战!

点赞
收藏
评论区
推荐文章
可插拔组件设计机制—SPI
SPI的全称是ServiceProviderInterface,即提供服务接口;是一种服务发现机制,SPI的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。本篇文章聚焦SPI的使用场景及使用介绍。
Stella981 Stella981
3年前
Spring Boot demo系列(八):Swagger
2021.2.24更新1概述Swagger主要用于生成API文档,本文演示了如何使用目前最新的OpenAPI3以及Swagger来进行接口文档的生成。2依赖<dependency<groupIdorg.springdoc</groupId
Wesley13 Wesley13
3年前
5分钟带你浅谈企业级PaaS平台HZERO!
汉得企业级PaaS平台HZERO一款基于微服务架构的企业级PaaS平台,可支持企业各类系统搭建或产品研发,帮助企业快速构建技术中台。HZERO是企业级PaaS平台,结合汉得多年项目实施经验,应用微服务、容器、DevOps等云原生技术,封装了大量技术开发包、技术应用组件、技术场景实现能力,并结合以人工智能、大数据、物联网和
Wesley13 Wesley13
3年前
PHP 使用高德接口获取地理编码和逆地理编码
PHP使用高德接口获取地理编码和逆地理编码产品介绍地理编码/逆地理编码API是通过HTTP/HTTPS协议访问远程服务的接口,提供结构化地址与经纬度之间的相互转化的能力。适用场景地理编码:将详细的结构化地址转换为高德经纬度坐标。且支持对地标性名胜景区、建筑物名
Wesley13 Wesley13
3年前
Java互联网应用和企业级应用的区别
企业级应用是为了满足企业日常运营所产生的IT应用,其目的是满足企业自己,对交付厂家而言,俗称2B业务;互联网应用则是面向个人用户,俗称2C业务。就个人经验,企业应用主要关注业务服务的能力,针对该企业的业务流程进行信息化、规范化、日志化,以提高企业业务及管理的效率。;互联网比较关注体验,用户粘性。技术上看,很多企业级应用的业务复杂性比互联网要大的多;而互
Wesley13 Wesley13
3年前
C#中依赖注入
由于客户类只依赖于服务类的一个接口,而不依赖于具体服务类,所以客户只定义一个注入点。在程序运行过程中,客户类部直接实例化具体服务类实例,而是客户类的运行上下文环境或者专门组建负责实例化服务类,然后将其注入到客户类中,保证客户类的正常运行。依赖注入的方法大致分为3中:接口注入、构造方法注入、setter注入;1、setter注入setter注入是指
容器、容器云和容器化PaaS平台之间到底是什么关系?
容器是一种操作系统级虚拟化技术,Docker是一种容器引擎。使用Docker来运行操作容器。但从容器自身来说,其提供的是IaaS层能力。Kubernetes提供了容器调度和管理的能力,加上云计算租户功能,实现容器云平台功能。而基于容器技术所构建的应用开发、应用托管和应用运维平台则可以称为容器化PaaS平台,它是一种轻量化PaaS实现。结合日志、监控、认证、权限等基础能力则可以构建企业级的平台和可复用服务,采用微服务架构实现企业技术服务中台能力,支撑企业业务敏捷研发和模式转型。
不是海碗 不是海碗
1年前
手机号码在网时长 API 实现广告投放和精准营销案例分析
引言手机在网时长是指用户在移动网络上的在线时间,包括用户接入网络的时间和断开网络的时间。手机在网时长API是一种提供手机在网时长数据的编程接口,为开发者和服务提供商提供了获取和利用这些数据的能力。本文旨在深入探讨手机在网时长API的技术原理,帮助读者了解其
撮合前端平台在低代码平台的落地实践 | 京东云技术团队
基于传统认知,前端产品直接触达消费者,往往具有高度的定制化、需求变更频繁等特点,要求具有很好的动态性,能够满足不同客户的需求。那么能否建设类似的前端中台产品,我们姑且称之为“前端领域产品”,实现接入团队端到端能力复用呢?我们在撮合业务线中进行了一系列思考和探索
API 小达人 API 小达人
11个月前
DevOps 中 API 治理的工程问题和落地实践案例
API的全生命周期管理与Devops是紧密相关的,Devops中的各个环节都会对API治理有一定的业务诉求,很多时候企业需要一体化的API管理平台来提供相应的业务能力。在Devops工作流中进行API全生命周期管理时,成功交付的核心其实就是为企业提供工程问题的解决能力。那么所谓工程问题都有哪些呢?
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
696
粉丝
15
获赞
40