gpt4 book ai didi

go - 无法解析参数

转载 作者:数据小太阳 更新时间:2023-10-29 03:34:46 25 4
gpt4 key购买 nike

我正在尝试使用一个简单的方法来接收请求并解析参数,但它返回了错误数量的参数。

在我的 main 中,我提出一个请求,然后调用:

fmt.Println(parseParams(r, "http://localhost:8080", 2))

这导致在记录时在方法中设置以下值:

网址: /api/users

参数: [api用户]

len(参数): 3

所以它似乎认为有一个我没有指定的额外参数,仔细观察我可以看到参数中 api 之前有一个空格,但我不知道它来自哪里

func parseParams(req *http.Request, prefix string, num int) ([]string, error) {
url := strings.TrimPrefix(req.URL.Path, prefix)
params := strings.Split(url, "/")

if len(params) != num || len(params[0]) == 0 || len(params[1]) == 0 {
return nil, fmt.Errorf("Bad format. Expecting exactly %d params", num)
}

return params, nil
}

最佳答案

您看到的不是空格(那只是分隔符),而是一个空字符串,因此数组看起来像这样 ["", "api", "users"]。如果你去掉逗号和引号,它看起来就像你的输出。所以,你的参数是“”/“api”/“users”。通常,您可以在处理参数时跳过第 0 个索引。

关于go - 无法解析参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47287795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com