Documentation
¶
Index ¶
- type ApiStdRes
- type Option
- type Reply
- type RequestOption
- type Service
- func (s *Service) Do(method string, reqUrl string, opt *RequestOption) *Reply
- func (s *Service) GetResult(resp *resty.Response, err error) *Reply
- func (s *Service) NewRestyClient() *resty.Client
- func (s *Service) ParseData(d map[string]interface{}) map[string]string
- func (s *Service) Request(reqOpt *RequestOption, client *resty.Client) *Reply
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Option ¶ added in v1.11.5
type Option func(s *Service)
Option service option.
func WithEnableKeepAlive ¶ added in v1.11.5
WithEnableKeepAlive 是否长连接模式,默认短连接
type Reply ¶
type Reply struct {
StatusCode int // http request 返回status code
Err error // 请求过程中,发生的error
Body []byte // 返回的body内容
}
Reply 请求后的结果 statusCode,body,error.
type RequestOption ¶ added in v1.11.5
type RequestOption struct {
Method string // 请求的方法
Url string // 请求url
RetryCount int // 重试次数
RetryWaitTime time.Duration // 重试间隔,默认100ms
RetryMaxWaitTime time.Duration // 重试最大等待间隔,默认2s
RetryConditions []resty.RetryConditionFunc // 重试条件,是一个函数切片
Params map[string]interface{} // get,delete的Params参数
Data map[string]interface{} // post请求form data表单数据
Headers map[string]interface{} // header头信息
// cookie参数设置
Cookies map[string]interface{} // cookie信息
CookiePath string // 可选参数
CookieDomain string // cookie domain可选
CookieMaxAge int // cookie MaxAge
CookieHttpOnly bool // cookie httpOnly
// 支持post,put,patch以json格式传递,[]int{1, 2, 3},map[string]string{"a":"b"}格式
// json支持[],{}数据格式,主要是golang的基本数据类型,就可以
// 直接调用SetBody方法,自动添加header头"Content-Type":"application/json"
Json interface{}
// 支持文件上传的参数
FileName string // 文件名称
FileParamName string // 文件上传的表单file参数名称
}
RequestOption 请求参数设置
type Service ¶
type Service struct {
BaseUri string // 请求地址url的前缀
Timeout time.Duration // 请求超时限制
Proxy string // 请求设置的http_proxy代理
EnableKeepAlive bool // 是否允许长连接方式请求接口,默认短连接方式
}
Service 请求句柄设置
func (*Service) Do ¶
func (s *Service) Do(method string, reqUrl string, opt *RequestOption) *Reply
Do 请求方法 method string 请求的方法get,post,put,patch,delete,head等 uri string 请求的相对地址,如果BaseUri为空,就必须是完整的url地址 opt *RequestOption 请求参数ReqOpt 短连接的形式请求api 关于如何关闭http connection https:// www.cnblogs.com/cobbliu/p/4517598.html
func (*Service) GetResult ¶
GetResult 处理请求的结果statusCode,body,error. 首先判断是否出错,然后判断http resp是否请求成功或有错误产生
func (*Service) NewRestyClient ¶ added in v1.11.5
NewRestyClient 创建一个resty client 创建一个resty客户端,支持post,get,delete,head,put,patch,file文件上传等 可以快速使用go-resty/resty上面的方法 参考文档: https:// github.com/go-resty/resty
func (*Service) Request ¶ added in v1.11.5
func (s *Service) Request(reqOpt *RequestOption, client *resty.Client) *Reply
Request 请求方法 resty.setBody: for struct and map data type defaults to 'application/json' SetBody method sets the request body for the request. It supports various realtime needs as easy. We can say its quite handy or powerful. Supported request body data types is `string`, `[]byte`, `struct`, `map`, `slice` and `io.Reader`. Body value can be pointer or non-pointer. Automatic marshalling for JSON and XML content type, if it is `struct`, `map`, or `slice`.
client.R().SetFormData method sets Form parameters and their values in the current request. It's applicable only HTTP method `POST` and `PUT` and requests content type would be set as `application/x-www-form-urlencoded`.