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 '''