easyopen是一個(gè)簡(jiǎn)單易用的接口開放平臺(tái),平臺(tái)封裝了常用的參數(shù)校驗(yàn)、結(jié)果返回等功能亚铁,開發(fā)者只需實(shí)現(xiàn)業(yè)務(wù)代碼即可。
easyopen的功能類似于淘寶開放平臺(tái)螟加,它的所有接口只提供一個(gè)url徘溢,通過參數(shù)來區(qū)分不同業(yè)務(wù)。這樣做的好處是接口url管理方便了捆探,平臺(tái)管理者只需維護(hù)好接口參數(shù)即可然爆。由于參數(shù)的數(shù)量是可知的,這樣可以在很大程度上進(jìn)行封裝黍图。封裝完后平臺(tái)開發(fā)者只需要寫業(yè)務(wù)代碼曾雕,其它功能可以通過配置來完成。
可做為企業(yè)內(nèi)部多系統(tǒng)之間接口互調(diào)的一個(gè)中間網(wǎng)關(guān)平臺(tái)助被,基本的鑒權(quán)+限流剖张。
功能特點(diǎn)
- 開箱即用切诀,寫完業(yè)務(wù)代碼直接啟動(dòng)服務(wù)即可使用,無需其它配置搔弄。
- 參數(shù)自動(dòng)校驗(yàn)趾牧,支持國(guó)際化參數(shù)校驗(yàn)(JSR-303)。
- 校驗(yàn)功能和結(jié)果返回功能實(shí)現(xiàn)各自獨(dú)立肯污,方便自定義實(shí)現(xiàn)或擴(kuò)展翘单。
- 采用注解來定義接口,維護(hù)簡(jiǎn)單方便蹦渣。
- 支持i18n國(guó)際化消息返回哄芜。
- 自動(dòng)生成文檔頁(yè)面,類似swagger柬唯。
- 采用數(shù)字簽名進(jìn)行參數(shù)驗(yàn)證认臊,簽名算法見:easyopen\簽名算法.txt。
- 采用appKey-secret形式接入平臺(tái)锄奢,即需要給接入方提供一個(gè)appKey和secret失晴。
結(jié)構(gòu)圖
文檔頁(yè)面
示例
- 定義接口:
@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;
}
- 請(qǐng)求數(shù)據(jù):
{
"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"
}
- 返回結(jié)果:
{
"code":"0",
"data":{
"goods_name":"蘋果iPhoneX",
"id":1,
"price":8000
}
}
意見交流
Q群:328419269