【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



相关文章
|
13天前
|
Go
Go 语言循环语句
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。
24 1
|
2天前
|
存储 Go 容器
深入探究Go语言中的数据结构
深入探究Go语言中的数据结构
10 3
|
12天前
|
Go 开发者
探索Go语言的并发之美
在Go语言的世界里,"并发"不仅仅是一个特性,它是一种哲学。本文将带你领略Go语言中goroutine和channel的魔力,揭示如何通过Go的并发机制来构建高效、可靠的系统。我们将通过一个简单的示例,展示如何利用Go的并发特性来解决实际问题,让你的程序像Go一样,轻盈而强大。
|
13天前
|
JSON Go API
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
|
13天前
|
Go
go语言创建字典
go语言创建字典
|
2天前
|
Go
GO语言时间转换
GO语言时间转换
9 0
|
13天前
|
Go
Go 语言接口
Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 接口可以让我们将不同的类型绑定到一组公共的方法上,从而实现多态和灵活的设计。
|
Go
Go实战(一)-概述
Go实战(一)-概述
107 0
Go实战(一)-概述
|
14天前
|
安全 Go 数据处理
探索Go语言的并发之美:Goroutines与Channels
在Go语言的世界里,"并发"不仅仅是一个概念,它是一种生活的方式。本文将带你领略Go语言中Goroutines和Channels的魔力,它们是如何让并发编程变得既简单又高效。我们将通过一个简单的示例,展示如何使用这些工具来构建一个高性能的网络服务。
|
14天前
|
关系型数据库 Go 数据处理
高效数据迁移:使用Go语言优化ETL流程
在本文中,我们将探索Go语言在处理大规模数据迁移任务中的独特优势,以及如何通过Go语言的并发特性来优化数据提取、转换和加载(ETL)流程。不同于其他摘要,本文不仅展示了Go语言在ETL过程中的应用,还提供了实用的代码示例和性能对比分析。