diff --git a/internal/syntax/interceptor.go b/internal/syntax/interceptor.go index 8dc400b..3023e12 100644 --- a/internal/syntax/interceptor.go +++ b/internal/syntax/interceptor.go @@ -26,7 +26,7 @@ func (i *Interceptors) Add(f InterceptorFunc, name ...string) { for _, n := range name { if _, found := i.funcs[n]; found { - panic(fmt.Errorf("%s 已经存在", n)) + panic(fmt.Sprintf("%s 已经存在", n)) } i.funcs[n] = f } diff --git a/internal/tree/node.go b/internal/tree/node.go index 25b8737..fc183d3 100644 --- a/internal/tree/node.go +++ b/internal/tree/node.go @@ -70,7 +70,7 @@ func (n *node[T]) priority() int { } // 获取指定路径下的节点,若节点不存在,则添加。 -// segments 为被 syntax.Split 拆分之后的字符串数组。 +// segments 为被 [syntax.Split] 拆分之后的字符串数组。 func (n *node[T]) getNode(segments []*syntax.Segment) (*node[T], error) { child, err := n.addSegment(segments[0]) if err != nil { diff --git a/internal/tree/tree.go b/internal/tree/tree.go index 4aff484..aec7573 100644 --- a/internal/tree/tree.go +++ b/internal/tree/tree.go @@ -140,8 +140,7 @@ func (tree *Tree[T]) checkAmbiguous(pattern string) error { s = n.segment.Value + s n = n.parent } - - return fmt.Errorf("存在有歧义的节点:%s", s) + return fmt.Errorf("%s 与已有的节点 %s 存在歧义", pattern, s) } // Clean 清除路由项 diff --git a/internal/tree/tree_test.go b/internal/tree/tree_test.go index 3110c19..dcc9991 100644 --- a/internal/tree/tree_test.go +++ b/internal/tree/tree_test.go @@ -49,7 +49,7 @@ func (t *tester) add(method, pattern string, code int) { func (t *tester) addAmbiguous(pattern string) { t.a.TB().Helper() b := rest.BuildHandler(t.a, http.StatusOK, "", nil) - t.a.ErrorString(t.tree.Add(pattern, b, nil, http.MethodGet), "存在有歧义的节点") + t.a.ErrorString(t.tree.Add(pattern, b, nil, http.MethodGet), pattern+" 与已有的节点") } // 验证按照指定的 method 和 path 访问,是否会返回相同的 code 值,