Skip to content

Commit bf212a1

Browse files
committed
docs: add more instructors about the mock conditional response
1 parent 7486b07 commit bf212a1

File tree

4 files changed

+2076
-2044
lines changed

4 files changed

+2076
-2044
lines changed

docs/site/content/zh/latest/tasks/mock.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ items:
102102
curl http://localhost:6060/mock/api/v1/repos/atest/prs -v
103103
```
104104

105+
#### 编码器
106+
105107
另外,为了满足复杂的场景,还可以对 Response Body 做特定的解码,目前支持:`base64`、`url`、`raw`:
106108

107109
> encoder 为 `raw` 时,表示不进行处理
@@ -151,6 +153,36 @@ items:
151153
bodyFromFile: /tmp/baidu.html
152154
```
153155

156+
#### 条件判断
157+
158+
对于查询类的 API,通常会接收参数,并根据参数的不同,返回相应的数据。这时候,可以用到条件判断的表达式:
159+
160+
```yaml
161+
items:
162+
- name: cats
163+
request:
164+
path: /api/v1/cats/{size}
165+
response:
166+
header:
167+
Content-Type: application/json
168+
body: |
169+
{{if eq .Param.size "big"}}
170+
{
171+
"name": "big cat"
172+
}
173+
{{else if eq .Param.size "middle"}}
174+
{
175+
"name": "middle cat"
176+
}
177+
{{else if eq .Param.size "small"}}
178+
{
179+
"name": "small cat"
180+
}
181+
{{end}}
182+
```
183+
184+
## 代理
185+
154186
在实际情况中,往往是向已有系统或平台添加新的 API,此时要 Mock 所有已经存在的 API 就既没必要也需要很多工作量。因此,我们提供了一种简单的方式,即可以增加**代理**的方式把已有的 API 请求转发到实际的地址,只对新增的 API 进行 Mock 处理。如下所示:
155187

156188
```yaml
@@ -175,7 +207,7 @@ proxies:
175207
target: http://192.168.123.58:9200
176208
```
177209

178-
## TCP 协议代理
210+
### TCP 协议代理
179211

180212
```yaml
181213
proxies:
@@ -185,7 +217,7 @@ proxies:
185217
target: 192.168.123.58:33060
186218
```
187219

188-
## 代理多个服务
220+
### 代理多个服务
189221

190222
```shell
191223
atest mock-compose bin/compose.yaml

0 commit comments

Comments
 (0)