更新文档
This commit is contained in:
parent
a4193fbfa2
commit
67a7002796
97
README.MD
97
README.MD
@ -1,33 +1,52 @@
|
|||||||
# simpleRequest
|
# simpleRequest
|
||||||
## 1. 说明
|
## 1. 说明
|
||||||
[simpleRequest](www.github.com/dorlolo/simpleRequest) 是基于golang原生http库的封装,适合用来对第三方接口进行快速地对接和开发。
|
[simpleRequest](www.github.com/dorlolo/simpleRequest) 是一款面向对象开发的http请求库。他是基于Go原生http库。开发这个模块的主要目的是为了更快的对接http协议的IOT设备。
|
||||||
它具备以下特点:
|
它具备以下特点:
|
||||||
- 相对于其它请求库,更易于理解和使用。极大减少了开发过程中的代码量和资料查询时间。
|
- 极简化的代码,大大提高了代码编写速度。
|
||||||
- 适合对接一些未遵循restful规范的接口。
|
- 更易于理解和使用,减少了资料查询的时间。
|
||||||
|
- 更适合对接一些未遵循restful规范的接口。
|
||||||
|
|
||||||
|
这是它的一个示例:
|
||||||
|
```go
|
||||||
|
var r = simpleRequest.NewRequest()
|
||||||
|
//设置请求头
|
||||||
|
r.Headers().Set("x-token", "d+jfdji*D%1=")
|
||||||
|
// 添加query
|
||||||
|
r.QueryParams().Set("user", "JJXu").Set("job", "developer")
|
||||||
|
//--发送请求
|
||||||
|
res, err := r.GET("http://www.webSite.com/end/point")
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
} else {
|
||||||
|
fmt.Println(res)
|
||||||
|
}
|
||||||
|
```
|
||||||
## 2. 如何使用?
|
## 2. 如何使用?
|
||||||
|
### 2.2 安装
|
||||||
### 2.1 模块导入
|
```bash
|
||||||
|
go get github.com/dorlolo/simpleRequest
|
||||||
|
```
|
||||||
|
### 2.2 模块导入
|
||||||
|
|
||||||
```go
|
```go
|
||||||
import "github.com/dorlolo/simpleRequest"
|
import "github.com/dorlolo/simpleRequest"
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2.2 实例化
|
### 2.3 实例化
|
||||||
|
|
||||||
```go
|
```go
|
||||||
var r = simpleRequest.NewRequest()
|
var r = simpleRequest.NewRequest()
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2.3 添加请求头
|
### 2.4 添加请求头
|
||||||
|
|
||||||
#### 2.3.1 单个赋值
|
#### 2.4.1 单个赋值
|
||||||
```go
|
```go
|
||||||
r.Headers().Set("token", "d+jfdji*D%1=")
|
r.Headers().Set("token", "d+jfdji*D%1=")
|
||||||
r.Headers().Set("Content-Type", "application/json")
|
r.Headers().Set("Content-Type", "application/json")
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.3.2 map赋值
|
#### 2.4.2 map赋值
|
||||||
```go
|
```go
|
||||||
mapHeaders:= map[string]string{
|
mapHeaders:= map[string]string{
|
||||||
"token": "d+jfdji*D%1=",
|
"token": "d+jfdji*D%1=",
|
||||||
@ -36,12 +55,12 @@ mapHeaders:= map[string]string{
|
|||||||
r.Headers().Sets(mapHeaders)
|
r.Headers().Sets(mapHeaders)
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.3.3 链式赋值
|
#### 2.4.3 链式赋值
|
||||||
```go
|
```go
|
||||||
r.Headers().Set("token", "d+jfdji*D%1=").Set("Content-Type", "application/json")
|
r.Headers().Set("token", "d+jfdji*D%1=").Set("Content-Type", "application/json")
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.3.4 添加多值
|
#### 2.4.4 添加多值
|
||||||
对单个key添加多只不要使用`.set`,因为原先的值会被覆盖
|
对单个key添加多只不要使用`.set`,因为原先的值会被覆盖
|
||||||
```go
|
```go
|
||||||
r.Headers().Set("Accept", "text/html")
|
r.Headers().Set("Accept", "text/html")
|
||||||
@ -51,7 +70,7 @@ r.Headers().Add("Accept","image/webp")
|
|||||||
r.Headers().Add("Accept","*/*;q=0.8")
|
r.Headers().Add("Accept","*/*;q=0.8")
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.3.4 使用预设的key
|
#### 2.4.4 使用预设的key
|
||||||
```go
|
```go
|
||||||
r.Headers().SetConentType("application/json")
|
r.Headers().SetConentType("application/json")
|
||||||
//r.Headers().Set("Content-Type", "application/json")
|
//r.Headers().Set("Content-Type", "application/json")
|
||||||
@ -63,7 +82,7 @@ r.Headers().SetConentEncoding("gzip, deflate, br")
|
|||||||
//r.Headers().Set("Content-Encoding", "gzip, deflate, br")
|
//r.Headers().Set("Content-Encoding", "gzip, deflate, br")
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.3.5 使用预设的key-value
|
#### 2.4.5 使用预设的key-value
|
||||||
```go
|
```go
|
||||||
//随机user-agent
|
//随机user-agent
|
||||||
r.Headers().SetRandomUerAgent()
|
r.Headers().SetRandomUerAgent()
|
||||||
@ -82,12 +101,12 @@ r.Headers().ConentType_textPlain()
|
|||||||
//r.Headers().Set("Content-Type","text/plain; charset=utf-8")
|
//r.Headers().Set("Content-Type","text/plain; charset=utf-8")
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2.4 添加queryParams
|
### 2.5 添加queryParams
|
||||||
#### 2.4.1 单个赋值
|
#### 2.5.1 单个赋值
|
||||||
```go
|
```go
|
||||||
r.QueryParams().Set("user", "dorlolo")
|
r.QueryParams().Set("user", "dorlolo")
|
||||||
```
|
```
|
||||||
#### 2.4.2 map赋值
|
#### 2.5.2 map赋值
|
||||||
不会覆盖上面之前填充过的参数
|
不会覆盖上面之前填充过的参数
|
||||||
```go
|
```go
|
||||||
pamarsBulid := make(map[string]any)
|
pamarsBulid := make(map[string]any)
|
||||||
@ -96,28 +115,28 @@ pamarsBulid["action"] = "login"
|
|||||||
r.QueryParams().Sets(pamarsBulid)
|
r.QueryParams().Sets(pamarsBulid)
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.4.3 链式赋值
|
#### 2.5.3 链式赋值
|
||||||
```go
|
```go
|
||||||
r.QueryParams().Set("user", "dorlolo").Set("passwd","123456")
|
r.QueryParams().Set("user", "dorlolo").Set("passwd","123456")
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.4.4 获取url.Values对象进行赋值
|
#### 2.5.4 获取url.Values对象进行赋值
|
||||||
对象类型为`*url.Values`,取到地址后,可以使用`url.Values`中的方法继续进行赋值
|
对象类型为`*url.Values`,取到地址后,可以使用`url.Values`中的方法继续进行赋值
|
||||||
```go
|
```go
|
||||||
qpData:=r.QueryParams().Gets()
|
qpData:=r.QueryParams().Gets()
|
||||||
qpData.Add("age","18")
|
qpData.Add("age","18")
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2.5 添加请求体body
|
### 2.6 添加请求体body
|
||||||
|
|
||||||
#### 2.5.1 单个参数赋值
|
#### 2.6.1 单个参数赋值
|
||||||
支持和map赋值同时使用
|
支持和map赋值同时使用
|
||||||
```go
|
```go
|
||||||
r.Body().Set("beginDate", "2022-03-01").Set("endDate", "2022-03-03")
|
r.Body().Set("beginDate", "2022-03-01").Set("endDate", "2022-03-03")
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.5.2 map赋值
|
#### 2.6.2 map赋值
|
||||||
支持和单个参数赋值同时使用
|
支持和单个参数赋值同时使用
|
||||||
```go
|
```go
|
||||||
bodyBulid := map[string]any{
|
bodyBulid := map[string]any{
|
||||||
@ -127,26 +146,26 @@ bodyBulid := map[string]any{
|
|||||||
r.Body().Sets(bodyBulid)
|
r.Body().Sets(bodyBulid)
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.5.3 技巧:链式赋值
|
#### 2.6.3 技巧:链式赋值
|
||||||
```go
|
```go
|
||||||
r.Body().Set("beginDate", "2022-03-01").Set("endDate", "2022-03-03")
|
r.Body().Set("beginDate", "2022-03-01").Set("endDate", "2022-03-03")
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.5.4 字符串赋值
|
#### 2.6.4 字符串赋值
|
||||||
此方法为一次性赋值,不支持和其它赋值方法同时使用
|
此方法为一次性赋值,不支持和其它赋值方法同时使用
|
||||||
```go
|
```go
|
||||||
bodydata:=`{"devSn":"230000000008","type":"day"}`
|
bodydata:=`{"devSn":"230000000008","type":"day"}`
|
||||||
r.Body().SetString(bodydata)
|
r.Body().SetString(bodydata)
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.5.5 字节赋值
|
#### 2.6.5 字节赋值
|
||||||
此方法为一次性赋值,不支持和其它赋值方法同时使用
|
此方法为一次性赋值,不支持和其它赋值方法同时使用
|
||||||
```go
|
```go
|
||||||
bytesdata:=[]byte(`{"devSn":"230000000008","type":"day"}`)
|
bytesdata:=[]byte(`{"devSn":"230000000008","type":"day"}`)
|
||||||
r.Body().SetBytes(bytesdata)
|
r.Body().SetBytes(bytesdata)
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.5.6 结构体赋值
|
#### 2.6.6 结构体赋值
|
||||||
此方法为一次性赋值,不支持和其它赋值方法同时使用
|
此方法为一次性赋值,不支持和其它赋值方法同时使用
|
||||||
```go
|
```go
|
||||||
type demo struct{
|
type demo struct{
|
||||||
@ -160,32 +179,22 @@ modeldata:=demo{
|
|||||||
r.Body().SetModel(&modeldata)
|
r.Body().SetModel(&modeldata)
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2.6 其它请求参数
|
### 2.7 其它请求参数
|
||||||
|
|
||||||
#### 2.6.1 设置超时时间
|
#### 2.7.1 设置超时时间
|
||||||
```go
|
```go
|
||||||
r.TimeOut(time.Second * 30)
|
r.TimeOut(time.Second * 30)
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.6.2 跳过证书验证
|
#### 2.7.2 跳过证书验证
|
||||||
```go
|
```go
|
||||||
r.SkipCertVerify()
|
r.SkipCertVerify()
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2.7 发送请求
|
### 2.8 发送请求
|
||||||
#### 2.7.1 post请求
|
#### 2.8.1 post请求
|
||||||
```go
|
```go
|
||||||
res, err :=r.Post("https://127.0.0.1:80/excample")
|
res, err :=r.POST("https://127.0.0.1:80/excample")
|
||||||
if err != nil {
|
|
||||||
ftm.Println( "error occured", err)
|
|
||||||
} else {
|
|
||||||
fmt.Println(res)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2.7.2 发送请求
|
|
||||||
```go
|
|
||||||
res, err :=r.Get("https://127.0.0.1:80/excample")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ftm.Println( "error occured", err)
|
ftm.Println( "error occured", err)
|
||||||
} else {
|
} else {
|
||||||
@ -204,14 +213,14 @@ fmt.Println(res)
|
|||||||
- TRACE
|
- TRACE
|
||||||
|
|
||||||
|
|
||||||
### 2.8 获取上下文
|
### 2.9 获取上下文
|
||||||
请注意,需要完成请求后才能获得上下文数据!
|
请注意,需要完成请求后才能获得上下文数据!
|
||||||
#### 2.8.1 获取请求的上下文对象
|
#### 2.9.1 获取请求的上下文对象
|
||||||
```go
|
```go
|
||||||
requestContext:=r.Request
|
requestContext:=r.Request
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 2.8.2 获取返回的上下文对象
|
#### 2.9.2 获取返回的上下文对象
|
||||||
```go
|
```go
|
||||||
responseContext:=r.Response
|
responseContext:=r.Response
|
||||||
```
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user