API Manager源码编译及REST 接口改造心得

一、涉及相关代码及相应版本

1、product-apim-2.6.0(apim的主项目,编译后为可执行的项目)

2、analytics-apim-2.6.0(apim 中的统计相关模块,包含了publisher 和 store的统计展示页面,需要在api-manager.xml文件中启用统计,<Analytics> <!-- Enable Analytics for API Manager --><Enabled>true</Enabled>)

3、carbon-apimgt-6.4.50(apim 的主要功能项目, 所有的功能实现都在该项目中做修改,包含了components features和service-stubs三个模块,我主要做的是将analytics的接口抽取出Rest 接口,因此主要在components中做修改)

4、carbon-kernel-4.4.35(这个项目为kernel级别的,主要支持carbon相关的登录 及权限管理控制,还有其他基础功能,若修改了项目 应该最先编译该项目)

5、carbon-identity-framework-5.12.153(这个项目主要是/carbon资源下的数据管理,主要包含了用户和角色管理)

二、项目编译

一般网路状况良好的话基本都能编译通过,需要注意的是,在编译过程中会有个checkstyle的错误,一直没解决 我是直接在编译指令下添加的 -Dcheckstyle.skip=true 来跳过检测style这个步骤,如果有更好的解决方案 欢迎留言讨论!

 

三、主要修改内容

我主要是模仿官方提供的Rest 接口,自定义了/analytics 即所有统计相关的页面接口,需要新开发Rest接口或修改相关接口的可以互相讨论,相关操作如下:

1、找到components中的org.wso2.carbon.apimgt.rest.api.publisher模块,在gen下新建了AnalyticsApi的类

相关代码的配置 可以参考ApisApi类,这个类是用来管理api的所有操作的。创建AnalyticsApi后需要在webapp/WEB-INF/beans.xml中添加相关配置信息,如图:

否则 在项目初始化的时候会提示找不到类。

2、创建好AnalyticsApi类后,可以写相应的接口了,需要注意的是:每个接口需要在/resources/publisher-api.yaml中配置相关的访问权限,然后还需要在org.wso2.carbon.apimgt.rest.api.util/resources/publisher-api.json中配置对应的接口权限信息,否则在访问时会提示没有访问权限。位置信息如下图:

3、store中对应的统计模块类似于publisher中的开发模式,配置好相应的配置文件即可。

 

四、关于jag文件说明

apim页面大部分使用了.jag文件,使用了jagger.js,加载时jagg.module("xxx)这个方法的查找顺序是:

先查找当前目录的xxx中的module.jag文件,然后查找对应的方法名。

 

五、product相关结构说明

由于新添加的只是一部分web端的功能,因此 在开发完成相应的接口后 只需要更新wso2am-2.6.0\repository\deployment\server\webapps 文件夹下相应的war即可。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值