前面我们对泛微E10平台的安装部署做了一些介绍,接下来我们对于泛微二开这块相关的低代码如何使用做个详细的介绍。本文主要介绍如何开发一个新的接口。
一、下载模板项目
首先对于泛微的二开我们需要下载模板项目,对应的下载地址是:
项目下载之后,我们需要把项目使用idea打开,这个模板项目是gradle的项目,idea默认是安装了gradle的,所以打开之后会自动识别出来。如下图:
此时我们可以看到这完整的结构如上图所示,接下来我们进行下面的操作步骤。
二、创建子项目
一般我们是在这个模板项目里面新增子项目进行开发,也可以直接在这个项目下新建src目录进行开发,根据实际情况进行选择即可,本文演示在子项目中进行开发,所以删除掉默认的custom-demo和workflow-demo这两个子项目
删除之后的项目结构如下图:
然后我们在这个项目下创建一个子项目,名称为:secondev-md-demo。
然后在这个secondev-md-demo项目下创建gradle文件,名称为:secondev-md-demo.gradle
接下来给secondev-md-demo.gradle文件添加上如下的内容:
description = "子模块demo项目" dependencies { // 子项目私有依赖添加 }
这个内容随便修改,比如我这里修改的信息是:
然后需要在idea中刷新gradle的配置,他会将新建的目录加载成子项目,然后我们再在项目下创建src/main/java目录,操作步骤如下图:
记得要新建src/main/java这个目录哦,我这里是创建了的
三、下载依赖包
使用maven的时候,我们需要在pom中引入依赖包,但是使用泛微E10进行二开的话,他的依赖包必须要在泛微E10的安装环境中去下载,下载出来的jar包,我们把他放到这个项目里面去,然后引入项目就可以找到相关的依赖了,这里演示容器环境下如何下载,步骤如下:
1、登录到k8s集群中的某台服务器中去
#查看对应的名称空间 kubectl get namespaces #查看名称空间中的pods列表 kubectl get pods -n ${名称空间}
在列举中的pods信息里面我们寻找名称为weaver-secondev开头的pod,然后进入进去
#进入到weaver-secondev的pod中去 kubectl exec -it weaver-secondev-service-xxxx -n ${名称空间} -- bash #把依赖进行打包 cd /usr/local/tomcat/webapps/ tar -zcvf /usr/local/secondev.tar.gz ROOT #退出同期 exit #把容器中刚才打包的文件放到宿主机中 kubectl cp ${名称空间}/weaver-secondev-service-xxx:/usr/local/secondev.tar.gz /tmp/secondev.tar.gz
然后就可以在k8s宿主机上看到我们打包的内容了
把他下载到本地,然后解压缩,把下面的jar包和class拷贝到刚才的demo项目中去
- WEB-INF/lib目录下的所有 jar 拷贝至 IDEA 项目secDevLib目录下 - WEB-INF/classes目录下的所有文件拷贝至secDevClasses目录下
我这里的图示如下:
备注:
1、这里需要注意下,secDevClasses文件夹下有一个switch.properties的文件拷贝过来会出现问题,所以这里我们直接把他删除掉即可,上图可看到我这里是没有这个switch.properties文件的。
拷贝进来之后,我们需要把这个依赖包放进idea这个项目的环境中去,右键项目,选择open module settings
然后再右侧选择dependencies
把secDevLib目录给引入进来
然后勾选一下,再点击apply+ok
此时依赖就引入进来了,接下来就可以写代码了。
四、编写controller
这里编写controller的方式和使用springboot框架编写controller是一模一样的,我的示例代码如下:
package com.weaver.seconddev.demo.controller; import com.weaver.emonitor.bean.WeaResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/secondev/demo") public class HelloController { @GetMapping("/hello") public WeaResult<String> hello(@RequestParam("msg") String msg) { return WeaResult.success("hello," + msg); } }
这里需要注意几个问题:
1、.java文件必须再com.weaver.seconddev.xxx目录下,如果不在这个目录下,到时候代码不识别。
2、这里的requestmapping的返回值必须是WeaResult。
3、这里的类中的requestmapping的话,路径需要以:
/api/secondev/xxx /papi/secondev/xxx /sapi/secondev/xxx
开头。
五、项目打包
接口编写完成之后就需要进行打包了,打包的话,首先修改build.gradle文件(这个文件在主目录中,不在子目录捉弄),添加如下的配置
sourceSets { main { java { include '**' } resources { // 打jar排除resources目录下所有的文件 exclude '**' } } }
然后刷新下进行build
按照上图的操作就可以看到已经打出来jar包了。
六、部署jar包
接下来我们需要把这个jar包部署到泛微E10平台上,登录泛微E10的平台地址,在后面添加:/ecode/monitor/loom/deploy/jar这个路径进行访问(完整的路径是:http://192.168.1.1:1100/ecode/monitor/loom/deploy/jar)就会看到如下的界面
在上面搜索weaver-secondev-service,就会列举出对应的服务,然后我们点击上传
把刚才的jar包上传上去
此时我们的jar包就部署上去了。
七、重启服务
前面我们把jar包部署到泛微E10平台上去了,但是此时也是访问不到的,我们需要把对应的服务进行重启,所以这里需要进入到k8s的管理平台上去,执行weaver-secondev-service-xx的重启。
八、测试访问
接下来我们就可以访问刚才的接口了,使用的信息就是http://192.168.1.1:1100/api/secondev/demo/hello。可以看到这里前面是泛微E10平台的地址,后面的路径是我们二开编写的代码接口。
以上就是在泛微E10平台上进行开发新接口的案例。
备注:
1、在第六部分部署jar包的时候,如果泛微E10二开环境是容器环境的话是可以上传jar包的,但是如果是微服务环境的话,就不能上传jar包了,需要上传build.zip文件,如下图:
还没有评论,来说两句吧...