- 导入包
首先,需要导入resty库:
import (
"github.com/go-resty/resty/v2"
)
- 创建一个Resty客户端
接下来,可以创建一个Resty客户端:
client := resty.New()
- 发送HTTP请求
发送HTTP请求有两种方式:链式调用和使用方法。
链式调用示例如下:
resp, err := client.R().
SetHeader("Content-Type", "application/json").
SetBody(requestBody).
Post(url)
使用方法的示例如下:
req := client.R()
req.SetHeader("Content-Type", "application/json")
req.SetBody(requestBody)
resp, err := req.Post(url)
其中,url为请求的URL地址,requestBody为请求体。
- 解析响应
发送请求后,可以通过resp对象获取响应数据。如下所示:
statusCode := resp.StatusCode()
body := resp.Body()
可以使用resp.Result()方法获取完整的响应结果(Response):
result := resp.Result()
- 处理错误
在处理HTTP请求时,可能会遇到错误。为了捕获这些错误,可以使用err变量。当出现错误时,它将包含一个非空值。
if err != nil {
// Handle error
}
- 设置超时时间
可以通过以下方式设置超时时间:
client.SetTimeout(30 * time.Second)
- 设置代理
可以通过以下方式设置代理:
proxyURL, _ := url.Parse("http://localhost:8080")
client.SetProxy(proxyURL)
- 设置请求头
可以通过以下方式设置请求头:
client.R().SetHeader("Authorization", "Bearer xxxxxxxx")
- 发送GET请求
发送GET请求的示例代码如下:
resp, err := client.R().
SetHeader("Content-Type", "application/json").
Get(url)
- 发送POST请求
发送POST请求的示例代码如下:
resp, err := client.R().
SetHeader("Content-Type", "application/json").
SetBody(requestBody).
Post(url)
- 发送PUT请求
发送PUT请求的示例代码如下:
resp, err := client.R().
SetHeader("Content-Type", "application/json").
SetBody(requestBody).
Put(url)
- 发送DELETE请求
发送DELETE请求的示例代码如下:
resp, err := client.R().
SetHeader("Content-Type", "application/json").
Delete(url)
以上就是resty的基本使用方法。