java接口文档示例_一个简单易用的接口开放平台 easyopen

easyopen

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

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

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

功能特点

  • 开箱即用,写完业务代码直接启动服务即可使用,无需其它配置。
  • 参数自动校验,支持国际化参数校验(JSR-303)。
  • 校验功能和结果返回功能实现各自独立,方便自定义实现或扩展。
  • 采用注解来定义接口,维护简单方便。
  • 支持i18n国际化消息返回。
  • 自动生成文档页面,类似swagger。
  • 采用数字签名进行参数验证,签名算法见:easyopen签名算法.txt。
  • 采用appKey-secret形式接入平台,即需要给接入方提供一个appKey和secret。

技术点

  • 加密算法(MD5、AES、RSA)
  • Netty(编解码、长连接、断开重连)
  • 限流(漏桶策略、令牌桶策略)
  • 权限(RBAC、校验)
  • session(单机、分布式)
  • 注解(文档生成)
  • token(jwt、accessToken)
  • SDK(Java、C#、JavaScript)

结构图

8521c94d9a292d6dc419813b3e055644.png
  • 配置中心截图
5a057a0cdf8a982ffd091c31af1c7a1f.png

文档页面

457134f593f8ea3bc1411ecf852d782c.png

示例

  • 定义接口:
@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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值