api.go 2.5 KB
Newer Older
E
eoLinker API Management 已提交
1 2
package entity

Y
Your Name 已提交
3 4
import "github.com/eolinker/goku-api-gateway/config"

Y
Your Name 已提交
5 6
//API 接口
type API struct {
Y
Your Name 已提交
7 8
	APIID            int                      `json:"apiID"`
	APIName          string                   `json:"apiName"`
Y
Your Name 已提交
9
	Alias            string                   `json:"alias"`
Y
Your Name 已提交
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
	GroupID          int                      `json:"groupID,omitempty"`
	ProjectID        int                      `json:"projectID,omitempty"`
	RequestURL       string                   `json:"requestURL"`
	ProxyURL         string                   `json:"targetURL"`
	RequestMethod    string                   `json:"requestMethod"`
	TargetServer     string                   `json:"targetServer"`
	TargetMethod     string                   `json:"targetMethod"`
	RequestParamList []*RequestParam          `json:"requestParamList,omitempty"`
	ResultParamList  []string                 `json:"resultParamList,omitempty"`
	IsFollow         bool                     `json:"isFollow"`
	StripPrefix      bool                     `json:"stripPrefix"`
	Timeout          int                      `json:"timeout"`
	RetryConut       int                      `json:"retryCount"`
	UpdateTime       string                   `json:"updateTime"`
	CreateTime       string                   `json:"createTime"`
	Valve            int                      `json:"alertValve"`
	BalanceName      string                   `json:"balanceName"`
	Protocol         string                   `json:"protocol"`
	StripSlash       bool                     `json:"stripSlash"`
	GroupPath        string                   `json:"groupPath"`
	APIType          int                      `json:"apiType"`
	LinkAPIs         []config.APIStepUIConfig `json:"linkApis"`
	StaticResponse   string                   `json:"staticResponse"`
	ResponseDataType string                   `json:"responseDataType"`
E
eoLinker API Management 已提交
34 35 36
	*ManagerInfo
}

Y
Your Name 已提交
37
//ManagerInfo 用户管理者信息
E
eoLinker API Management 已提交
38 39 40 41 42 43 44 45 46
type ManagerInfo struct {
	ManagerID      int    `json:"managerID"`
	UpdaterID      int    `json:"updaterID"`
	CreateUserID   int    `json:"createUserID"`
	ManagerName    string `json:"managerName"`
	UpdaterName    string `json:"updaterName"`
	CreateUserName string `json:"createUserName"`
}

Y
Your Name 已提交
47
//RequestParam 请求参数
E
eoLinker API Management 已提交
48 49 50 51 52 53
type RequestParam struct {
	Key         string `json:"key"`
	KeyPosition string `json:"keyPosition"`
	NotEmpty    bool   `json:"notEmpty"`
}

Y
Your Name 已提交
54 55 56
//APIPlugin 接口插件
type APIPlugin struct {
	*API
E
eoLinker API Management 已提交
57 58 59 60
	StrategyID         string
	PluginList         []*PluginParams
	StrategyPluginList []*PluginParams
}