Go实战Gin + Gorm 基于RESTful API 的简单备忘录 | 含接口文档
Posted 小生凡一
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go实战Gin + Gorm 基于RESTful API 的简单备忘录 | 含接口文档相关的知识,希望对你有一定的参考价值。
Todo List 备忘录
此项目使用Gin
+Gorm
,基于RESTful API
实现的一个备忘录。
规范是非常重要的,此项目非常适合小白入门学习web开发
接口文档
密码:0000
项目主要功能介绍
- 用户注册登录 (
jwt-go鉴权
) - 新增 / 删除 / 修改 / 查询 备忘录
- 存储每条备忘录的浏览次数
view
- 分页功能
项目部分代码介绍
- 路由
//任务操作
authed.GET("tasks", api.ListTasks)
authed.POST("task", api.CreateTask)
authed.GET("task/:id", api.ShowTask)
authed.DELETE("task/:id", api.DeleteTask)
authed.PUT("task/:id", api.UpdateTask)
authed.POST("search",api.SearchTasks)
- 服务
type ShowTaskService struct {
}
func (service *ShowTaskService) Show(id string) serializer.Response
type DeleteTaskService struct {
}
func (service *DeleteTaskService) Delete(id string) serializer.Response
type UpdateTaskService struct {
ID uint `form:"id" json:"id"`
Title string `form:"title" json:"title" binding:"required,min=2,max=100"`
Content string `form:"content" json:"content" binding:"max=1000"`
Status int `form:"status" json:"status"` //0 待办 1已完成
}
func (service *UpdateTaskService) Update(id string) serializer.Response
type SearchTaskService struct {
Info string `form:"info" json:"info"`
}
func (service *SearchTaskService) Search() serializer.Response
项目主要依赖:
Golang V1.15
- Gin
- Gorm
- mysql
- redis
- ini
- jwt-go
项目结构
TodoList/
├── api
├── cache
├── conf
├── middleware
├── model
├── pkg
│ ├── e
│ ├── logging
│ ├── util
├── routes
├── serializer
└── servive
- api : 用于定义接口函数
- cache : 放置redis缓存
- conf : 用于存储配置文件
- middleware : 应用中间件
- model : 应用数据库模型
- pkg / e : 封装错误码
- pkg / logging : 日志打印
- pkg / util : 工具函数
- routes : 路由逻辑处理
- serializer : 将数据序列化为 json 的函数
- servive : 接口函数的实现
简要说明
mysql
是存储主要数据redis
用来存储备忘录的浏览次数
项目运行
本项目使用Go Mod
管理依赖。
下载依赖
go mod tidy
运行
go run main.go
最后
小生凡一,期待你的关注。
以上是关于Go实战Gin + Gorm 基于RESTful API 的简单备忘录 | 含接口文档的主要内容,如果未能解决你的问题,请参考以下文章