golang gin 发送get请求代码 并且传Query参数
时间: 2023-05-27 14:06:03 浏览: 151
Golang发送http GET请求的示例代码
下面是使用golang gin发送get请求并传递Query参数的示例代码:
```go
package main
import (
"fmt"
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
router.GET("/hello", func(c *gin.Context) {
name := c.Query("name") // 获取Query参数
if name == "" {
name = "World"
}
resp, err := http.Get(fmt.Sprintf("https://api.example.com/greet?name=%s", name)) // 发送get请求,并传递Query参数
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, gin.H{"message": string(body)})
})
router.Run(":8080")
}
```
在上面的代码中,我们使用了gin框架来创建一个HTTP服务器,然后定义了一个路由处理函数,当客户端发送GET请求到`/hello`路径时,会执行这个处理函数。在处理函数中,我们使用了`c.Query`方法来获取客户端传递的Query参数,然后使用`http.Get`方法来发送get请求,并将Query参数传递给远程API。最后,我们将API返回的响应内容作为JSON格式返回给客户端。
阅读全文