如何使用golang在REST API网址中传递动态参数

时间:2018-10-23 06:32:15

标签: rest go

我从邮递员(google api)获取编码的url。在url中,我编写了查询以从数据库中获取信息。在查询中,我已经硬编码了要获取其数据的date参数。但是,当我在代码中使用编码查询(用golang编写)时,我希望date参数来自一个应每天更改的变量。但是,我绝对不能在url中传递此动态变量。有什么帮助吗?

代码段:

https://*************/?q='Last Date' >= "09/04/2018 12:00:00 AM " and 'Last Date' <= "10/04/2018 11:59:59 PM"&fields=values(ID, Name)

这是我在邮递员中使用的网址,而我得到的是经过编码的网址,以返回如下内容:

"https://*************************/?q=Last%20Date'%20%3E%3D%20%2209%2F04%2F2018%2012%3A00%3A00%20AM%20%22%20and%20'Last%20Date'%20%3C%3D%20%2210%2F04%2F2018%2011%3A59%3A59%20PM%22&fields=values(ID%2CName)

代替最后一个日期(在URL中硬编码),我尝试使用一个变量,该变量的日期来自其他地方(动态变量),如下所示:

i:= RunDate.AddDate(0, 0, 1)

我想在查询中添加“ i”代替“上一个日期”,但是这样做会引发错误

1 个答案:

答案 0 :(得分:0)

您可以使用time包以编程方式创建日期并为查询设置格式。

为此,您可以使用time.Format()。例如,以yyyy-MM-dd HH:mm:ss格式获取时间,可以使用格式字符串“ 2006-01-02 15:04:05”作为time.Format的参数。

t := time.Now()
fmt.Println(t.Format("2006-01-02 15:04:05"))

将输出

2009-11-10 23:00:00

请参阅time库的文档