我正在使用golang的fasthttprouter,并按照示例操作并定义了这样的路由器:
router.GET("/customer/account/detail/:accountId", myHandler.customerAccountDetailHandler)
然后我以http://locahost:9296/customer/account/detail/2
的身份致电我的服务
但是我意识到我不想让参数作为端点的一部分,我宁愿通过这样调用服务来使用普通参数:
http://locahost:9296/customer/account/detail?accountId=2&sort=1
是否可以使用fasthttprouter完成?怎么样?
预先感谢 J
答案 0 :(得分:0)
应该可以从请求上下文访问查询参数。
您应该有一个接受*fasthttp.RequestCtx
参数的处理程序。该RequestCtx
可以访问URI和该URI上的查询参数。看起来应该像这样:
ctx.URI().QueryArgs().Peek("accountId")
您将必须更新处理程序以使用此查询参数,而不是先前使用的路由参数。同样适用于sort
参数。
此外,还必须更新路由器,以将/customer/account/detail
路由到更新的处理程序(即,您要从路由中删除/:accountId
)。
答案 1 :(得分:0)
您的问题与此类似:
Get a request parameter key-value in fasthttp
您可以通过以下方式检索请求的参数:
<input type="button" onclick="enterScores()" value="Enter Scores">
<input type="button" onclick="displayScores()" value="Display Scores">
<input type="button" onclick="Average()" value="Calculate Average">
<br><br><font face="arial" size="2">
<table border="1" style="border-collapse: collapse;" id="display"></table>
<p id="average"></p>
在这里查看我的完整回复
https://stackoverflow.com/a/57740178/9361998
文档:https://godoc.org/github.com/valyala/fasthttp#RequestCtx.FormValue