From 491165184a7d090657e91be2fe749a9b0fccccfc Mon Sep 17 00:00:00 2001 From: qmqz Date: Tue, 1 Apr 2025 15:24:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20http=E6=B3=A8=E8=A7=A3?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/base/webserver/impl/RouteGenerator.dart | 33 +++++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/lib/base/webserver/impl/RouteGenerator.dart b/lib/base/webserver/impl/RouteGenerator.dart index aa434f6..a8c8f35 100644 --- a/lib/base/webserver/impl/RouteGenerator.dart +++ b/lib/base/webserver/impl/RouteGenerator.dart @@ -46,8 +46,14 @@ class RouteGenerator extends GeneratorForAnnotation { p = path + p; } //加入调用缓存 - routes[HttpMethod.valueOf( - anno.read("method").read("_name").stringValue)] = [ + var mtd = + HttpMethod.valueOf(anno.read("method").read("_name").stringValue); + var list = routes[mtd]; + if (list == null) { + list = []; + routes[mtd] = list; + } + list.add([ p, HttpResponseType.valueOf( anno.read("responseType").read("_name").stringValue), @@ -55,25 +61,26 @@ class RouteGenerator extends GeneratorForAnnotation { return method.name; }, pl >= 2 ? 2 : 1 - ]; + ]); } // print("构建完毕"); } } else { //单独处理ws - routes[HttpMethod.valueOf(method)] = [path]; + routes[HttpMethod.valueOf(method)] = [[path]]; } // 生成路由映射代码 - // var data = jsonEncode(routes); final routesMapString = routes.entries.map((entry) { - return '${entry.key}: [[${entry.value.map((e) { - if (e is String) { - return '"$e"'; - } else if (e is Function) { - return "_callHandler.${e()}"; - } - return e; - }).join(",")}]],'; + return '${entry.key}: [${entry.value.map((e) { + return '[${e.map((f) { + if (f is String) { + return '"$f"'; + } else if (f is Function) { + return "_callHandler.${f()}"; + } + return f; + }).join(",")}]'; + }).join(",")}],'; }).join('\n'); // print(routes); return '''