当前位置: 首页 > news >正文

nas怎么做自己的网站专门做字体设计的网站

nas怎么做自己的网站,专门做字体设计的网站,自己在家搭建服务器,公司官网怎么弄使用 Go 和 Gin 框架构建简单的用户和物品管理 Web 服务 在本项目中,我们使用 Go 语言和 Gin 框架构建了一个简单的 Web 服务,能够管理用户和物品的信息。该服务实现了两个主要接口:根据用户 ID 获取用户名称,以及根据物品 ID 获…

使用 Go 和 Gin 框架构建简单的用户和物品管理 Web 服务

在本项目中,我们使用 Go 语言和 Gin 框架构建了一个简单的 Web 服务,能够管理用户和物品的信息。该服务实现了两个主要接口:根据用户 ID 获取用户名称,以及根据物品 ID 获取物品名称。本文将介绍项目的整体结构、数据库设计、接口实现以及如何测试这些接口。

项目结构

项目的目录结构如下:
在这里插入图片描述

数据库设计

本项目使用 MySQL 数据库存储用户和物品信息。我们创建了两张表:

在这里插入图片描述

示例数据

我们在数据库中插入了一些示例用户和物品数据:

-- 插入用户数据
INSERT INTO users (name) VALUES ('张三'); -- 用户ID 1
INSERT INTO users (name) VALUES ('李四'); -- 用户ID 2-- 插入物品数据
INSERT INTO items (name, user_id) VALUES ('书籍', 1);  -- 张三的书籍
INSERT INTO items (name, user_id) VALUES ('电脑', 2);  -- 李四的电脑
INSERT INTO items (name, user_id) VALUES ('手机', 1);   -- 张三的手机

在这里插入图片描述

接口实现

1.获取用户名称

// GetUserByID 根据用户ID获取用户名称
func GetUserByID(c *gin.Context) {id := c.Param("id") // 从请求中获取用户IDvar user models.Usererr := database.DB.QueryRow("SELECT id, name FROM users WHERE id = ?", id).Scan(&user.ID, &user.Name)if err != nil {if err == sql.ErrNoRows {c.JSON(http.StatusNotFound, gin.H{"message": "用户未找到"})} else {c.JSON(http.StatusInternalServerError, gin.H{"message": "查询用户时出错"})}return}c.JSON(http.StatusOK, user)
}

2.获取物品名称

// GetItemByID 根据物品ID获取物品信息
func GetItemByID(c *gin.Context) {id := c.Param("id") // 从请求中获取物品IDvar item models.Itemerr := database.DB.QueryRow("SELECT id, name, user_id FROM items WHERE id = ?", id).Scan(&item.ID, &item.Name, &item.UserID)if err != nil {if err == sql.ErrNoRows {c.JSON(http.StatusNotFound, gin.H{"message": "物品未找到"})} else {c.JSON(http.StatusInternalServerError, gin.H{"message": "查询物品时出错"})}return}// 查询物品所属用户的信息var user models.Usererr = database.DB.QueryRow("SELECT id, name FROM users WHERE id = ?", item.UserID).Scan(&user.ID, &user.Name)if err == nil {fmt.Println("用户名称:", user.Name) // 模拟打印日志}c.JSON(http.StatusOK, item)
}

3.路由设置

我们将上述接口绑定到路由中:

func SetupRouter() *gin.Engine {router := gin.Default()// 用户相关接口router.GET("/user/:id", controllers.GetUserByID) // 根据用户ID获取用户名称// 物品相关接口router.GET("/item/:id", controllers.GetItemByID) // 根据物品ID获取物品名称return router
}

4.数据库连接

package databaseimport ("database/sql"_ "github.com/go-sql-driver/mysql"
)var DB *sql.DBfunc InitDB() error {dsn := "root:P110040593abc@tcp(127.0.0.1:3306)/pj12db?charset=utf8mb4&parseTime=True&loc=Local" // 数据库信息var err errorDB, err = sql.Open("mysql", dsn)if err != nil {return err}// 连接数据库return DB.Ping()
}

测试接口

使用 Postman 来测试接口:

获取用户名称:GET http://localhost:8080/user/1 # 查询用户ID为1(张三)

查询结果:在这里插入图片描述

获取物品名称:GET http://localhost:8080/item/2 # 查询物品ID为2(电脑)

查询结果:

http://www.yayakq.cn/news/998725/

相关文章:

  • 吴江企业建设网站1688货源网一件代销
  • 电商网站开发的意义烟台海阳市专业做网站
  • 网站建设需求统计表网站开发嫌工时长
  • 上饶婚纱工作室网站建设最全的提交网站入口大全
  • wex5做网站校园网站安全建设方案
  • 嘉兴做网站建设的公司哪家好0元玩手游平台
  • 网站产品介绍长图哪个软件做的西安seo外包服务
  • 美工做任务网站长春百度搜索优化
  • 江阴网站开发公司微商分销模式
  • 陕西建设集团招聘信息网站学校网站建设方案模板
  • 电商网站建设的关键曲阜住房和城乡建设局网站
  • 电影网站做淘客wordpress怎么设置标签分类
  • php网站开发文档seo挂机赚钱
  • 做品牌形象网站手机网站样式
  • 备案期间网站能打开吗深圳住房和城乡建设厅官网
  • 烟台快速建站有哪些公司重庆竣工验收备案网上查询
  • 怎么开网站平台挣钱深圳市宝安区建设局网站
  • 加强统计局网站的建设和管理排版设计工作内容
  • 注册网站需要备案吗招聘类网站怎么做
  • 潍坊网站定制建设品牌网站
  • 高端网站建设推荐万维科技网站制作开发的步骤和方法
  • 高端建站是什么意思东莞网站制作多少钱
  • 商丘网站建设方案网站建设的实施制作阶段包括
  • 重庆工程交易信息网好的seo公司营销网
  • 百度公司官方网站产品营销网站建设
  • 分享型网站制作网页模板素材
  • 铜川微网站建设珠海做网站
  • 新思维网站科技创新的评价机制的作用
  • 做网站v1认证是什么意思网站不收录的技术原因
  • 网站建设一次网站推广的方式?