【Go语言实战】(3) Gin + Gorm 简单备忘录 | 含接口文档

简介: 目录Todo List 备忘录接口文档项目主要功能介绍项目部分代码介绍项目主要依赖:项目结构简要说明项目运行最后

目录

Todo List 备忘录

接口文档

项目主要功能介绍

项目部分代码介绍

项目主要依赖:

项目结构

简要说明

项目运行

最后

Todo List 备忘录



此项目使用Gin+Gorm ,基于RESTful API实现的一个备忘录。


规范是非常重要的,此项目非常适合小白入门学习web开发


Github开源链接


接口文档

Todo List 接口文档


密码:0000


image.png


项目主要功能介绍

用户注册登录 ( 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
└── service


api : 用于定义接口函数

cache : 放置redis缓存

conf : 用于存储配置文件

middleware : 应用中间件

model : 应用数据库模型

pkg / e : 封装错误码

pkg / logging : 日志打印

pkg / util : 工具函数

routes : 路由逻辑处理

serializer : 将数据序列化为 json 的函数

service : 接口函数的实现

简要说明

mysql是存储主要数据

redis用来存储备忘录的浏览次数

项目运行

本项目使用Go Mod管理依赖。


下载依赖


go mod tidy


运行


go run main.go



相关文章
|
6月前
|
Linux Go iOS开发
Go语言100个实战案例-进阶与部署篇:使用Go打包生成可执行文件
本文详解Go语言打包与跨平台编译技巧,涵盖`go build`命令、多平台构建、二进制优化及资源嵌入(embed),助你将项目编译为无依赖的独立可执行文件,轻松实现高效分发与部署。
1081 162
|
6月前
|
存储 前端开发 JavaScript
Go语言实战案例-项目实战篇:编写一个轻量级在线聊天室
本文介绍如何用Go语言从零实现一个轻量级在线聊天室,基于WebSocket实现实时通信,支持多人消息广播。涵盖前后端开发、技术选型与功能扩展,助你掌握Go高并发与实时通信核心技术。
795 158
|
7月前
|
数据采集 数据挖掘 测试技术
Go与Python爬虫实战对比:从开发效率到性能瓶颈的深度解析
本文对比了Python与Go在爬虫开发中的特点。Python凭借Scrapy等框架在开发效率和易用性上占优,适合快速开发与中小型项目;而Go凭借高并发和高性能优势,适用于大规模、长期运行的爬虫服务。文章通过代码示例和性能测试,分析了两者在并发能力、错误处理、部署维护等方面的差异,并探讨了未来融合发展的趋势。
727 0
|
6月前
|
消息中间件 缓存 NoSQL
Redis各类数据结构详细介绍及其在Go语言Gin框架下实践应用
这只是利用Go语言和Gin框架与Redis交互最基础部分展示;根据具体业务需求可能需要更复杂查询、事务处理或订阅发布功能实现更多高级特性应用场景。
399 86
|
5月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
311 2
|
7月前
|
负载均衡 监控 Java
微服务稳定性三板斧:熔断、限流与负载均衡全面解析(附 Hystrix-Go 实战代码)
在微服务架构中,高可用与稳定性至关重要。本文详解熔断、限流与负载均衡三大关键技术,结合API网关与Hystrix-Go实战,帮助构建健壮、弹性的微服务系统。
758 1
微服务稳定性三板斧:熔断、限流与负载均衡全面解析(附 Hystrix-Go 实战代码)
|
7月前
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
519 0
|
7月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
345 0
|
7月前
|
Cloud Native Java 中间件
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
395 0
|
7月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
428 0