bluebell 构建思路
建构思路
用户注册
首先创建项目,先创建好几个基本的文件夹,如routers、controller、logic、models、dao。在根目录创建main.go文件。
把路由先搭建起来,在routers文件夹中创建routers.go,新建函数func SetupRouter(mode string) *gin.Engine
,简简单单初始化一下路由。
在models文件夹下新建user.go,定义用户和注册表单结构体User和RegisterForm。
现在开始从controller开始补充函数,居然使用了zap和validator,去github学习一下
简单学习完了,现在发现博主自定义了很多状态码,打算照着抄一下,接着补全controller中response.go的代码
为什么返回
200 OK
即使有错误: 这里即便出现错误,HTTP 状态码仍然返回200
,这是因为开发者选择使用应用层的MyCode
来表达业务逻辑错误。HTTP 状态码只表示 HTTP 请求的传输是否成功,具体的业务状态通过ResponseData
结构体中的Code
字段来传递。
- 例子: 前端请求参数错误,虽然 HTTP 状态码是 200(请求传输成功),但
Code
会是类似于400
这样的业务逻辑错误码,用来表明请求有问题。
1 |
|
整removeTopStruct时候,发现有翻译器这种神奇的玩意,当 validator
进行校验时,生成的错误信息会通过翻译器 trans
转换为相应的语言。研究了一些自定义。
写好了注册用户的controller,接下来进入logic和dao。logic很好写,接下来进入sqlx,sqlx抄的很快。
原来网站能不能docker跑起来呢??改了compose配置后好像部分可行了。
logger虽然没有自己写,直接照搬的原来的文件。后续再看
用户登陆
bluebell 构建思路
http://willxu0313.github.io/2025/01/22/gin-backend/建构思路/