@@ -8,26 +8,31 @@ import (
88)
99
1010type (
11+ // DeepMockClient Client对象
1112 DeepMockClient struct {
1213 url string
1314 client * requests.Session
1415 }
1516
17+ // DeepMockError client error结构体
1618 DeepMockError struct {
1719 code int
1820 err string
1921 }
2022
23+ // Response client通用的返回响应
2124 Response struct {
2225 Code int `json:"code"`
2326 ErrorMessage string `json:"err_msg,omitempty"`
2427 }
2528
29+ // RuleResponse 单规则接口返回报文
2630 RuleResponse struct {
2731 Response
2832 Data * types.RuleDO `json:"data,omitempty"`
2933 }
3034
35+ // RulesResponse 多规则接口返回报文
3136 RulesResponse struct {
3237 Response
3338 Data []* types.RuleDO `json:"data,omitempty"`
@@ -41,17 +46,20 @@ const (
4146 returnCodeOK = 200
4247)
4348
49+ // NewDeepMockError client error工厂函数
4450func NewDeepMockError (res Response ) * DeepMockError {
4551 return & DeepMockError {
4652 code : res .Code ,
4753 err : res .ErrorMessage ,
4854 }
4955}
5056
57+ // Error error的实现
5158func (e * DeepMockError ) Error () string {
5259 return fmt .Sprintf ("[%d]: %s" , e .code , e .err )
5360}
5461
62+ // NewDeepMockClient client的工厂函数
5563func NewDeepMockClient (url string ) * DeepMockClient {
5664 session := requests .NewSession (requests.Option {Name : "DeepMock Go Client" })
5765 return & DeepMockClient {
@@ -60,6 +68,7 @@ func NewDeepMockClient(url string) *DeepMockClient {
6068 }
6169}
6270
71+ // CreateMockRule 创建规则接口
6372func (c * DeepMockClient ) CreateMockRule (rule * types.RuleDO ) (* types.RuleDO , error ) {
6473 res := new (RuleResponse )
6574 _ , _ , err := c .client .Post (c .url + entrypointRule , requests.Params {Json : rule }, requests .UnmarshalJSONResponse (res ))
@@ -72,6 +81,7 @@ func (c *DeepMockClient) CreateMockRule(rule *types.RuleDO) (*types.RuleDO, erro
7281 return res .Data , nil
7382}
7483
84+ // DeleteMockRule 删除规则接口
7585func (c * DeepMockClient ) DeleteMockRule (rid string ) error {
7686 res := new (RuleResponse )
7787 _ , _ , err := c .client .Delete (c .url + entrypointRule , requests.Params {Json : requests.Any {"id" : rid }}, requests .UnmarshalJSONResponse (res ))
@@ -84,6 +94,7 @@ func (c *DeepMockClient) DeleteMockRule(rid string) error {
8494 return nil
8595}
8696
97+ // GetMockRule 获取规则接口
8798func (c * DeepMockClient ) GetMockRule (rid string ) (* types.RuleDO , error ) {
8899 res := new (RuleResponse )
89100 _ , _ , err := c .client .Get (c .url + entrypointRule + "/" + rid , requests.Params {}, requests .UnmarshalJSONResponse (res ))
@@ -96,6 +107,7 @@ func (c *DeepMockClient) GetMockRule(rid string) (*types.RuleDO, error) {
96107 return res .Data , nil
97108}
98109
110+ // PutMockRule 全量更新规则接口
99111func (c * DeepMockClient ) PutMockRule (rule * types.RuleDO ) (* types.RuleDO , error ) {
100112 res := new (RuleResponse )
101113 _ , _ , err := c .client .Put (c .url + entrypointRule , requests.Params {Json : rule }, requests .UnmarshalJSONResponse (res ))
@@ -108,6 +120,7 @@ func (c *DeepMockClient) PutMockRule(rule *types.RuleDO) (*types.RuleDO, error)
108120 return res .Data , nil
109121}
110122
123+ // PatchMockRule 部分更新规则接口
111124func (c * DeepMockClient ) PatchMockRule (rule * types.RuleDO ) (* types.RuleDO , error ) {
112125 res := new (RuleResponse )
113126 _ , _ , err := c .client .Patch (c .url + entrypointRule , requests.Params {Json : rule }, requests .UnmarshalJSONResponse (res ))
@@ -120,6 +133,7 @@ func (c *DeepMockClient) PatchMockRule(rule *types.RuleDO) (*types.RuleDO, error
120133 return res .Data , nil
121134}
122135
136+ // ExportRules 导出所有规则
123137func (c * DeepMockClient ) ExportRules () ([]* types.RuleDO , error ) {
124138 res := new (RulesResponse )
125139 _ , _ , err := c .client .Get (c .url + entrypointRules , requests.Params {}, requests .UnmarshalJSONResponse (res ))
@@ -132,6 +146,7 @@ func (c *DeepMockClient) ExportRules() ([]*types.RuleDO, error) {
132146 return res .Data , nil
133147}
134148
149+ // ImportRules 导入规则
135150func (c * DeepMockClient ) ImportRules (rules ... * types.RuleDO ) error {
136151 res := new (RulesResponse )
137152 _ , _ , err := c .client .Post (c .url + entrypointRules , requests.Params {Json : rules }, requests .UnmarshalJSONResponse (res ))
0 commit comments