
# Mock规则设计
#### 配置请求规则
- 请求Mock服务时，系统会根据规则中配置的参数匹配，只有规则下所有参数满足匹配条件时，才可匹配到整个规则。
- 请求参数，支持Query、Path、Header、Body。
  ![](https://support.huaweicloud.com/usermanual-apiarts/public_sys-resources/note_3.0-zh-cn.png)
  Path参数只有在当前选择的接口的url中存在path变量时才可以显示配置。
  
- Body支持json和xml格式。当请求体为json格式时，匹配规则会同时匹配json中的key和value。 ![](https://support.huaweicloud.com/usermanual-apiarts/zh-cn_image_0000002483543954.png)
  
![](https://support.huaweicloud.com/usermanual-apiarts/public_sys-resources/note_3.0-zh-cn.png)
无法保存重复规则。如果同一个接口下的不同规则配置内容一致，会提示无法保存规则。
#### 复杂规则匹配
Query、Path、Header支持复杂规则匹配，包括以下类型：
- \<、\<=、\>、\>=，支持类型：数字。
- =、!=，支持类型：数字、字符。
- 表达式（选择表达式后输入"@"符开启选择）。
  - 存在、不存在：判断Query、Header名称是否存在。
  
  - 包含、不包含：判断Query、Header、Path中的某个字段的值是否包含某个值。
  
  - 正则：判断Query、Header、Path中的某个字段的值是否符合正则表达式中的匹配规则。
  
  - 区间范围：判断Query、Header、Path中的某个字段的值是否在该区间范围内。
   
![](https://support.huaweicloud.com/usermanual-apiarts/zh-cn_image_0000002515583947.png)
![](https://support.huaweicloud.com/usermanual-apiarts/zh-cn_image_0000002483543958.png)
![](https://support.huaweicloud.com/usermanual-apiarts/public_sys-resources/note_3.0-zh-cn.png)
- Path不支持"存在"和"不存在"类型。
- 表达式支持Mock.js语法，具体使用方式可参考[Mock语法说明](https://support.huaweicloud.com/usermanual-apiarts/apiarts_01_0009.html)。
 
#### 返回响应
Mock服务支持从状态码、响应头、响应体三个维度配置请求的响应。
![](https://support.huaweicloud.com/usermanual-apiarts/zh-cn_image_0000002515583945.png)
- 状态码：必填项，参考http状态码。 ![](https://support.huaweicloud.com/usermanual-apiarts/zh-cn_image_0000002483543956.png)
  

- 响应头：选填项，输入响应头的名称和值，配置希望返回的响应头。 ![](https://support.huaweicloud.com/usermanual-apiarts/zh-cn_image_0000002515583943.png)
  

- 响应体：选填项，支持json、xml及自定义文本格式。 ![](https://support.huaweicloud.com/usermanual-apiarts/zh-cn_image_0000002515583949.png)
  
 
