-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsnippet_gin-curd-api.txt
118 lines (101 loc) · 3.04 KB
/
snippet_gin-curd-api.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
type $Name$Api struct {}
// Get$Name$List 查询$ChineseName$列表
func ($RECEIVER$ *$Name$Api) Get$Name$List(c *gin.Context) {
// 获取分页参数
offset, limit := utils.GetPaginationParams(c)
// 获取其它查询参数
var query request.$Name$Query
if err := c.ShouldBindQuery(&query); err != nil {
utils.HandleValidatorError(err, c)
return
}
list, total, err := $name$Service.Get$Name$List(query, offset, limit)
if err != nil {
global.GGB_LOG.Error("查询$ChineseName$列表失败!", zap.Error(err))
response.FailWithMessage(err.Error(), c)
return
}
// 返回响应结果
response.SuccessWithData(response.PageResult{
List: list,
Total: total,
}, c)
}
// Create$Name$ 新建$ChineseName$
func ($RECEIVER$ *$Name$Api) Create$Name$(c *gin.Context) {
// 声明 $package$.$Name$ 类型的变量以存储 JSON 数据
var req $package$.$Name$
// 绑定 JSON 请求体中的数据到 $Name$ 结构体
if err := c.ShouldBindJSON(&req); err != nil {
// 错误处理
utils.HandleValidatorError(err, c)
return
}
err := $name$Service.Create$Name$(req)
if err != nil {
global.GGB_LOG.Error("新建$ChineseName$失败!", zap.Error(err))
response.FailWithMessage(err.Error(), c)
return
}
// 返回响应结果
response.SuccessWithDefaultMessage(c)
}
// Get$Name$ 获取$ChineseName$详情
func ($RECEIVER$ *$Name$Api) Get$Name$(c *gin.Context) {
// 获取路径参数
if c.Param("id") == "" {
response.FailWithMessage("缺少参数:id", c)
return
}
id, _ := utils.Str2uint(c.Param("id"))
$name$, err := $name$Service.Get$Name$(id)
if err != nil {
global.GGB_LOG.Error("获取$ChineseName$详情失败!", zap.Error(err))
response.FailWithMessage(err.Error(), c)
return
}
// 返回响应结果
response.SuccessWithData($name$, c)
}
// Update$Name$ 编辑$ChineseName$
func ($RECEIVER$ *$Name$Api) Update$Name$(c *gin.Context) {
// 获取路径参数
if c.Param("id") == "" {
response.FailWithMessage("缺少参数:id", c)
return
}
id, _ := utils.Str2uint(c.Param("id"))
// 声明 $package$.$Name$ 类型的变量以存储查询结果
var req $package$.$Name$
// 绑定请求参数到数据对象
if err := c.ShouldBindJSON(&req); err != nil {
// 错误处理
utils.HandleValidatorError(err, c)
return
}
err := $name$Service.Update$Name$(req, id)
if err != nil {
global.GGB_LOG.Error("编辑$ChineseName$失败!", zap.Error(err))
response.FailWithMessage(err.Error(), c)
return
}
// 返回响应结果
response.SuccessWithDefaultMessage(c)
}
// Delete$Name$ 删除$ChineseName$
func ($RECEIVER$ *$Name$Api) Delete$Name$(c *gin.Context) {
// 获取路径参数
if c.Param("id") == "" {
response.FailWithMessage("缺少参数:id", c)
return
}
id, _ := utils.Str2uint(c.Param("id"))
err := $name$Service.Delete$Name$(id)
if err != nil {
global.GGB_LOG.Error("删除$ChineseName$失败!", zap.Error(err))
response.FailWithMessage(err.Error(), c)
return
}
// 返回响应结果
response.SuccessWithDefaultMessage(c)
}