[英]Define parameters as param request instad of endpoint url in fasthttprouter
我正在使用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
查询参数应该可以从请求上下文访问。 您应该有一个带有*fasthttp.RequestCtx
参数的处理程序。 该RequestCtx
可以访问URI和该URI上的查询参数。 看起来应该像这样:
ctx.URI().QueryArgs().Peek("accountId")
您必须更新处理程序以使用此查询参数,而不是先前使用的路由参数。 同样也适用于sort
参数。
同样,您的路由器必须进行更新以将/customer/account/detail
路由到更新后的处理程序(即,您要从路由中删除/:accountId
)。
您的问题与此类似:
在fasthttp中获取请求参数键值
您可以通过以下方式检索请求的参数:
token = string(ctx.FormValue("token"))
在这里看看我的完整回复
https://stackoverflow.com/a/57740178/9361998
文档: https : //godoc.org/github.com/valyala/fasthttp#RequestCtx.FormValue
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.