Skip to content

Commit 167f20b

Browse files
authored
fix: An HTTP handler group with the same name could be registered repeatedly (#164)
1 parent 0bd4734 commit 167f20b

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

framework/fel/java/services/tool-service/src/test/java/modelengine/fel/tool/support/HttpClientTestController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
* @since 2024-06-15
3535
*/
3636
@Component
37-
@RequestMapping(group = "Test")
37+
@RequestMapping(group = "http-tool-test")
3838
public class HttpClientTestController {
3939
/**
4040
* 表示返回值为 {@link Map} 的 HTTP 服务端接口。

framework/fel/java/services/tool-service/src/test/java/modelengine/fel/tool/support/http/server/controller/TestController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* @since 2024-06-17
2828
*/
2929
@Component
30-
@RequestMapping(group = "Test")
30+
@RequestMapping(group = "http-client-test")
3131
public class TestController {
3232
/**
3333
* 用于测试验证 Http 服务端各个注解是否正常

framework/fit/java/fit-builtin/services/fit-http-classic/definition/src/main/java/modelengine/fit/http/server/dispatch/DefaultHttpDispatcher.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ public class DefaultHttpDispatcher implements HttpDispatcher {
8585
@Override
8686
public HttpHandler dispatch(HttpClassicServerRequest request, HttpClassicResponse response) {
8787
log.debug("Remote address accessed. [path={}, remote={}]",
88-
request.path(), request.remoteAddress().hostAddress());
88+
request.path(),
89+
request.remoteAddress().hostAddress());
8990
return OptionalUtils.get(() -> this.selectFromNoPathVariableHandlers(request))
9091
.orElse(() -> this.selectFromPathVariableHandlers(request))
9192
.orElse(() -> this.selectFromWildcardHandlers(request))
@@ -197,6 +198,10 @@ public Map<HttpRequestMethod, List<HttpHandler>> getHttpHandlersMapping() {
197198
@Override
198199
public void registerGroup(HttpHandlerGroup group) {
199200
if (group != null) {
201+
if (this.groups.containsKey(group.getName())) {
202+
throw new IllegalStateException(StringUtils.format("Http handler group already exists. [group={0}]",
203+
group.getName()));
204+
}
200205
this.groups.put(group.getName(), group);
201206
}
202207
}

0 commit comments

Comments
 (0)