繁体   English   中英

在fasthttprouter中将参数定义为端点URL的参数请求实例

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM