我的代码
app.Get("/event/*", func(c *fiber.Ctx) error { // GET THE ACCOUNT FROM THE PATH fmt.Println("PATH") fmt.Println(c.Path()) fmt.Println("END PATH") fmt.Printf("%+v\n", c) fmt.Println("END PERCENT V") msg := fmt.Sprintf("%s\n", c.Params("*")) fmt.Println(msg) fmt.Println("END PARAMS *") fmt.Println(c.Body()) fmt.Println("END BODY") fmt.Println(c) fmt.Println("END RAW")
我称之为
curl 'localhost:3000/event/?a=b&b=c&d=e'
我的输出
PATH /event/ END PATH #0000000100000001 - 127.0.0.1:3000 <-> 127.0.0.1:46890 - GET http://localhost:3000/event/?a=b&b=c&d=eEND PERCENT V END PARAMS * [] END BODY #0000000100000001 - 127.0.0.1:3000 <-> 127.0.0.1:46890 - GET http://localhost:3000/event/?a=b&b=c&d=eEND RAW
我想要的是 a=b&b=x&d=e 作为字符串或作为一个 json 对象。然而!此字符串没有固定的格式。它可能很容易是 blah=123&blah2=234。或 x=1&某项=某值
我能找到的所有文档都涉及将查询字符串转换为结构。此服务需要做的就是将查询字符串转换为 json 并将其写入磁盘。如果我删除 ?,我可以使用 Params('*') 来获取它,但是路径是有问题的,因为我还需要单词“/event/”。该值也是任意的。此服务只是将其写入磁盘并返回 200。
但是我不知道如何使用戈兰的Fiber获取查询字符串。有办法吗?如果没有,是否有其他性能方法来获取此内容?
慕运维8079593
牧羊人nacy
相关分类