资讯专栏INFORMATION COLUMN

一个简单易用的接口开放平台

luzhuqun / 3752人阅读

摘要:一个简单易用的接口开放平台,平台封装了常用的参数校验结果返回等功能,开发者只需实现业务代码即可。这样做的好处是接口管理方便了,平台管理者只需维护好接口参数即可。支持国际化消息返回。采用形式接入平台,即需要给接入方提供一个和。

easyopen

一个简单易用的接口开放平台,平台封装了常用的参数校验、结果返回等功能,开发者只需实现业务代码即可。

easyopen的功能类似于淘宝开放平台,它的所有接口只提供一个url,通过参数来区分不同业务。这样做的好处是接口url管理方便了,平台管理者只需维护好接口参数即可。由于参数的数量是可知的,这样可以在很大程度上进行封装。封装完后平台开发者只需要写业务代码,其它功能可以通过配置来完成。

得益于Java的注解功能以及Spring容器对bean的管理,我们的开放接口平台就这样产生了。

功能特点

开箱即用,写完业务代码直接启动服务即可使用,无需其它配置。

参数自动校验,支持国际化参数校验(JSR-303)。

校验功能和结果返回功能实现各自独立,方便自定义实现或扩展。

采用注解来定义接口,维护简单方便。

支持i18n国际化消息返回。

自动生成文档页面,类似swagger。

采用数字签名进行参数验证,签名算法见:easyopen签名算法.txt。

采用appKey-secret形式接入平台,即需要给接入方提供一个appKey和secret。

技术点

加密算法(MD5、AES、RSA)

Netty(编解码、长连接、断开重连)

多线程(等待唤醒、CountDownLatch)

限流(限流策略、分布式限流)

权限(RBAC、校验)

session(单机、分布式)

注解(文档生成)

token(jwt、accessToken)

SDK(Java、C#、JavaScript)

结构图

文档页面

示例

定义接口:

@Api(name = "goods.get")
public Goods getGoods(GoodsParam param) {
    Goods goods = new Goods();
    goods.setId(1L);
    goods.setGoods_name("苹果iPhoneX");
    goods.setPrice(new BigDecimal(8000));
    return goods;
}

请求数据:

{
  "name": "goods.get",
  "version": "",
  "app_key": "test",
  "data": "%7B%22goodsPrice%22%3A%22%22%2C%22goods_name%22%3A%22iphoneX%22%7D",
  "timestamp": "2018-03-22 13:48:58",
  "format": "json",
  "sign": "C946ACA5AC95B1790511764A10E675B7"
}

返回结果:

{
    "code":"0",
    "data":{
        "goods_name":"苹果iPhoneX",
        "id":1,
        "price":8000
    }
}

源码

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76634.html

相关文章

  • 活字格发布新版本,插件公开,引领Web开发新潮流

    摘要:日前,活字格应用生成平台发布版本,首次公开插件机制,强大的扩展性和系统集成能力,引起业内瞩目。活字格也应运而生,伴随强势发布。 日前,活字格Web 应用生成平台发布V4.0版本,首次公开插件机制,强大的扩展性和系统集成能力,引起业内瞩目。 活字格是由西安葡萄城自主研发的 Web 应用生成平台,提供易用的类Excel可视化设计器和灵活的定制能力,帮助使用者以无代码或少写代码的方式,快速自...

    mrcode 评论0 收藏0
  • 蚂蚁区块链平台BaaS技术解析与实践

    摘要:蚂蚁区块链技术能力的输出目前主要在两个方面,一方面是存证平台,针对区块链的存证场景实现一个在性能上的优化的区块链平台。联盟成员可以申请加入区块链,从平台获取身份和认证的证书。 摘要: 以数字金融新原力(The New Force of Digital Finance)为主题,蚂蚁金服ATEC城市峰会于2019年1月4日在上海如期举办。在ATEC区块链行业研讨会分论坛上,蚂蚁金服区块链B...

    oysun 评论0 收藏0
  • 曾金龙:迅雷云Docker开发实践

    摘要:问能否谈一下迅雷云使用的过程其实最初的时候,迅雷团队对是怀有谨慎的态度的。三调度算法是迅雷云定制优化的。迅雷在使用这方面一直没有把数据层面交给迅雷云之外的系统。 非商业转载请注明作译者、出处,并保留本文的原始链接:http://www.ituring.com.cn/article/201256 曾金龙就职于迅雷网络,是国内覆盖面最广的迅雷P2P引擎核心研发成员。他毕业于中山大...

    iflove 评论0 收藏0

发表评论

0条评论

luzhuqun

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<