引入依赖,下面二选一
<repositories>
<repository>
<id>yihui-maven-repo</id>
<url>https://raw.githubusercontent.com/liuyueyi/maven-repository/master/repository</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.git.hui.fix</groupId>
<artifactId>fix-core</artifactId>
<version>1.0</version>
</dependency>
</dependencies>或者
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.git.hui.fix</groupId>
<artifactId>fix-core</artifactId>
<version>1.0</version>
</dependency>
</dependencies>引入上面依赖之后,如无问题,会暴露一个http接口 /inject-fixer-endpoint/call,用于接收外部请求,执行内部服务方法;在实际的使用过程中,需要注意加上安全校验相关的逻辑
-
默认开启的端口号是 9999, 可以通过设置jvm参数
-Dquick.fix.port来重设对应的端口号# 比如指定端口为8080可以如下 java -Dquick.fix.port=8080 -jar target/jar-example-1.0-jar-with-dependencies.jar -
在项目开头,需要主动调用一下
FixEngine.instance();进行初始化
| 标题 | 值 | 解释 |
|---|---|---|
| 请求方法 | POST | 只支持POST请求 |
| 请求头 | application/json | 请求参数以json串方式提交 |
| 请求参数 | service | 需要执行的服务,可以是完成路径,可以是beanName |
| - | field | 需要访问的服务内部成员属性,值为属性名;为空时,表示执行的服务的某个方法 |
| - | method | 方法名,需要执行的方法;为空时,表示访问某个服务的成员属性值 |
| - | type | static 表示访问静态类;其他表示访问Spring Bean |
| - | params | 请求参数,数组,可以不存在,格式为 类型#值,对于基本类型,可以省略类型的前缀包 |
应用启动
- 方式一:直接借助IDE启动项目
- 方式二:打一个可执行的jar包并运行
介绍下方式二的使用姿势:
# 首先进入jar-example目录
cd xxx
# 执行项目目录下的 build.sh 脚本
bash ./build.sh
# 在target目录下,会多一个可执行的jar包: jar-example-1.0-jar-with-dependencies.jar
# 运行jar包
java -jar target/jar-example-1.0-jar-with-dependencies.jar jar启动成功之后,控制台会输出
FixEndpoint is : 9999
current FixEndPoint is: ServletFixEndPoint
查询测试
测试静态类的静态成员的方法调用
curl -X POST -H "Content-Type:application/json" http://127.0.0.1:9999/fixer/call -d '{"service": "CalculateServer", "method": "getCache", "params": ["init"], "type":"static"}'