Skip to content

Commit fb7516b

Browse files
Merge pull request #11 from Talexs/develop
@initial 7.0.0-preview.710 Fix param type mismatch error
2 parents 083a59c + aa9cd39 commit fb7516b

5 files changed

Lines changed: 42 additions & 32 deletions

File tree

README.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@
2424

2525
## 项目背景
2626

27-
受到 Minecraft 启发,想要制作一个基于 插件 的框架
28-
29-
框架一定是用来解决某一特定领域的问题的 本框架就是用来解决 微服务类 问题
27+
受到 Minecraft服务端 Bukkit及系列框架 启发,针对主体功能进行框架化完善,对从属功能使用 ModulePlugin 进行解耦化操作
3028

3129
## 项目介绍
3230

@@ -36,7 +34,7 @@
3634

3735
## 可以做啥
3836

39-
通过 插件 实现功能的快速迭代 (也就是常说的**微服务**
37+
通过 插件 实现功能的快速迭代 (也可以理解**微服务**
4038

4139
通过命令与插件等实现快速的功能开发 避免重复启动 SpringBoot 的时间
4240

@@ -46,6 +44,8 @@
4644

4745
曾是为网易我的世界HyCraft打造的后端,后来用于 Pubsher 目前用于 PVPIN Studio 的后台开发
4846

47+
目前,该项目也正在为 Kxord 项目进行保驾护航。
48+
4949
## 模块系统
5050

5151
我们使用诸如 apis, commands 的模块进行隔离
@@ -68,6 +68,12 @@
6868

6969
正在逐步更新 **RPC框架模块 (Remote Procedure Call Module)**
7070

71+
## 墨菲安全
72+
73+
> 本项目由 MurphySec 进行安全保护。
74+
75+
[![OSCS Status](https://www.oscs1024.com/platform/badge/pvpin/pvpin-end/ends-box.git.svg?size=large)](https://www.murphysec.com/dr/mpY1VJvMJwXMyezCpb)
76+
7177
## 联系方式
7278

7379
通过QQ 2418876761 或者发送邮件到 TalexDreamSoul@gmail.com2418876761@qq.com 以联系作者。

pom.xml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
<dependency>
5151
<groupId>org.springframework.boot</groupId>
5252
<artifactId>spring-boot-starter-mail</artifactId>
53-
<version>2.6.7</version>
53+
<version>2.7.0</version>
5454
</dependency>
5555
<!-- <dependency>-->
5656
<!-- <groupId>org.springframework.boot</groupId>-->
@@ -71,12 +71,12 @@
7171
<dependency>
7272
<groupId>org.springframework.boot</groupId>
7373
<artifactId>spring-boot-starter-web</artifactId>
74-
<version>2.6.7</version>
74+
<version>2.7.0</version>
7575
</dependency>
7676
<dependency>
7777
<groupId>org.springframework.boot</groupId>
7878
<artifactId>spring-boot-starter-websocket</artifactId>
79-
<version>2.6.7</version>
79+
<version>2.7.0</version>
8080
</dependency>
8181
<!-- <dependency>-->
8282
<!-- <groupId>org.mybatis.spring.boot</groupId>-->
@@ -86,12 +86,12 @@
8686
<dependency>
8787
<groupId>org.springframework.cloud</groupId>
8888
<artifactId>spring-cloud-config-server</artifactId>
89-
<version>3.1.2</version>
89+
<version>3.1.3</version>
9090
</dependency>
9191
<dependency>
9292
<groupId>org.springframework.cloud</groupId>
9393
<artifactId>spring-cloud-starter-config</artifactId>
94-
<version>3.1.2</version>
94+
<version>3.1.3</version>
9595
</dependency>
9696
<!-- <dependency>-->
9797
<!-- <groupId>org.thymeleaf.extras</groupId>-->
@@ -100,7 +100,7 @@
100100
<dependency>
101101
<groupId>org.springframework.boot</groupId>
102102
<artifactId>spring-boot-devtools</artifactId>
103-
<version>2.6.7</version>
103+
<version>2.7.0</version>
104104
<scope>runtime</scope>
105105
<optional>true</optional>
106106
</dependency>
@@ -113,7 +113,7 @@
113113
<dependency>
114114
<groupId>org.springframework.boot</groupId>
115115
<artifactId>spring-boot-configuration-processor</artifactId>
116-
<version>2.6.7</version>
116+
<version>2.7.0</version>
117117
<optional>true</optional>
118118
</dependency>
119119
<dependency>
@@ -125,7 +125,7 @@
125125
<dependency>
126126
<groupId>org.springframework.boot</groupId>
127127
<artifactId>spring-boot-starter-test</artifactId>
128-
<version>2.6.7</version>
128+
<version>2.7.0</version>
129129
<scope>test</scope>
130130
</dependency>
131131
<!-- <dependency>-->
@@ -184,7 +184,7 @@
184184
<dependency>
185185
<groupId>cn.hutool</groupId>
186186
<artifactId>hutool-all</artifactId>
187-
<version>5.8.1</version>
187+
<version>5.8.3</version>
188188
</dependency>
189189
<!-- <dependency>-->
190190
<!-- <groupId>org.springframework.boot</groupId>-->
@@ -212,7 +212,7 @@
212212
<dependency>
213213
<groupId>com.freewayso</groupId>
214214
<artifactId>image-combiner</artifactId>
215-
<version>2.3.3</version>
215+
<version>2.3.5</version>
216216
</dependency>
217217
<!-- <dependency>-->
218218
<!-- <groupId>com.alibaba</groupId>-->
@@ -229,7 +229,7 @@
229229
<dependency>
230230
<groupId>com.alibaba</groupId>
231231
<artifactId>druid</artifactId>
232-
<version>1.2.9</version>
232+
<version>1.2.11</version>
233233
</dependency>
234234
<dependency>
235235
<groupId>org.jetbrains</groupId>
@@ -245,7 +245,7 @@
245245
<dependency>
246246
<groupId>cloud.tianai.captcha</groupId>
247247
<artifactId>tianai-captcha</artifactId>
248-
<version>1.3.1</version>
248+
<version>1.3.2</version>
249249
</dependency>
250250
</dependencies>
251251

src/main/java/com/talexframe/frame/core/modules/application/TAppManager.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import java.lang.annotation.Annotation;
1616
import java.lang.reflect.Field;
1717
import java.lang.reflect.Method;
18-
import java.lang.reflect.ParameterizedType;
1918
import java.util.ArrayList;
2019
import java.util.List;
2120
import java.util.concurrent.ConcurrentHashMap;
@@ -145,26 +144,25 @@ public boolean unRegisterController(WebPlugin plugin, TApp controller) {
145144

146145
public static class TAppAnnoGetter<T extends Annotation> {
147146

148-
@SuppressWarnings( "unchecked" )
149-
private Class<T> templateClass = (Class<T>) ( (ParameterizedType) this.getClass().getGenericSuperclass() ).getActualTypeArguments()[0];
150-
151147
public TAppAnnoGetter() {
152148

153149

154150

155151
}
156152

157-
public List<T> getAnnos() {
153+
public List<T> getAnnos(Class<T> templateCls) {
158154

159155
List<T> list = new ArrayList<>();
160156

161157
manager.controllers.keySet().forEach((cls) -> {
162158

163159
for( Method method : cls.getMethods() ) {
164160

165-
if( method.isAnnotationPresent(templateClass) ) {
161+
Annotation[] annotationsByType = method.getAnnotationsByType(templateCls);
162+
163+
for ( Annotation anno : annotationsByType ) {
166164

167-
list.add(method.getAnnotation(templateClass));
165+
list.add((T) anno);
168166

169167
}
170168

src/main/java/com/talexframe/frame/core/modules/network/connection/app/addon/param/ReceiverParamAddon.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,17 +283,19 @@ private boolean extracted(WrappedResponse wr, Parameter parameter, TParam param)
283283

284284
} else {
285285

286+
log.debug(" # ParameterType: {}", parameter.getType().getName());
287+
286288
if( !StrUtil.isBlankIfStr(param.defaultValue()) ) {
287289

288290
wr.getParams().add(
289291
new JSONObject().putOpt("value", param.defaultValue()).get("value", parameter.getType(), true)
290292
);
291293

292-
} else if ( Number.class.isAssignableFrom( parameter.getType() ) ) { // 如果类型是数字类型就塞 0
294+
} else if ( "int long double float".contains(parameter.getType().getName()) /*Number.class.isAssignableFrom( parameter.getType() )*/ ) { // 如果类型是数字类型就塞 0
293295

294296
wr.getParams().add(0);
295297

296-
} else if ( Boolean.class.isAssignableFrom( parameter.getType() ) ) {
298+
} else if ( "boolean".equals(parameter.getType().getName()) /*Boolean.class.isAssignableFrom( parameter.getType() )*/ ) {
297299

298300
wr.getParams().add(false);
299301

src/test/java/com/talex/talexframe/TalexFrameApplicationTests.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package com.talex.talexframe;
22

3-
import cn.hutool.core.net.url.UrlBuilder;
4-
import cn.hutool.core.util.CharsetUtil;
5-
import com.talexframe.frame.utils.UrlUtil;
63
import lombok.SneakyThrows;
4+
import lombok.val;
75
import org.junit.jupiter.api.Test;
86
import org.springframework.boot.test.context.SpringBootTest;
97

@@ -13,13 +11,19 @@ class TalexFrameApplicationTests {
1311
@SneakyThrows
1412
public static void main(String[] args) {
1513

16-
System.out.println(Number.class.isAssignableFrom(Integer.class));
14+
Class<?> clazz = Class.forName("com.talex.talexframe.TalexFrameApplicationTests");
1715

18-
System.out.println(UrlUtil.formatUrl("//user/////has/1141896356@qq.com"));
16+
val log2s = clazz.getMethod("log2", int.class).getParameterTypes();
1917

20-
UrlBuilder builder = UrlBuilder.ofHttp("www.hutool.cn/?a=张三&b=%e6%9d%8e%e5%9b%9b#frag1", CharsetUtil.CHARSET_UTF_8);
18+
System.out.println(log2s[0].getName());
2119

22-
System.out.println(builder.getPath().getSegments());
20+
// System.out.println(int.class);
21+
//
22+
// System.out.println(UrlUtil.formatUrl("//user/////has/1141896356@qq.com"));
23+
//
24+
// UrlBuilder builder = UrlBuilder.ofHttp("www.hutool.cn/?a=张三&b=%e6%9d%8e%e5%9b%9b#frag1", CharsetUtil.CHARSET_UTF_8);
25+
//
26+
// System.out.println(builder.getPath().getSegments());
2327

2428
// // Spawn number list randomly and sort them in descending order
2529
// List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

0 commit comments

Comments
 (0)