【Go实战 | 电商平台】(12) 删除商品

简介: 文章目录1. 删除商品1.1 路由接口注册1.2 接口函数编写1.2.1 service层1.2.2 api层1.3 服务函数编写1.4 验证服务

文章目录

1. 删除商品

1.1 路由接口注册

1.2 接口函数编写

1.2.1 service层

1.2.2 api层

1.3 服务函数编写

1.4 验证服务

1. 删除商品

1.1 路由接口注册

authed.DELETE("product/:id", api.DeleteProduct)

1.2 接口函数编写

1.2.1 service层

定义删除商品服务的结构体

type DeleteProductService struct {
}


定义这个结构体下的方法

func (service *DeleteProductService) Delete(id string) serializer.Response {
...
}


1.2.2 api层

定义一个删除结构的方法

deleteProductService := service.DeleteProductService{}


调用该服务下的方法

deleteProductService := service.DeleteProductService{}


上下文返回

c.JSON(200, res)


完整代码

func DeleteProduct(c *gin.Context) {
  deleteProductService := service.DeleteProductService{}
  res := deleteProductService.Delete(c.Param("id"))
  c.JSON(200, res)
}


1.3 服务函数编写

通过id找到需要删除的商品

var product model.Product
  err := model.DB.First(&product, id).Error


删除商品

err = model.DB.Delete(&product).Error


返回结果

return serializer.Response{
  Status: code,
  Msg:    e.GetMsg(code),
  }


1.4 验证服务

发送请求

image.png


响应

image.png


相关文章
|
3月前
|
Shell Go API
Go语言grequests库并发请求的实战案例
Go语言grequests库并发请求的实战案例
|
3月前
|
安全 大数据 Go
深入探索Go语言并发编程:Goroutines与Channels的实战应用
在当今高性能、高并发的应用需求下,Go语言以其独特的并发模型——Goroutines和Channels,成为了众多开发者眼中的璀璨明星。本文不仅阐述了Goroutines作为轻量级线程的优势,还深入剖析了Channels作为Goroutines间通信的桥梁,如何优雅地解决并发编程中的复杂问题。通过实战案例,我们将展示如何利用这些特性构建高效、可扩展的并发系统,同时探讨并发编程中常见的陷阱与最佳实践,为读者打开Go语言并发编程的广阔视野。
|
4月前
|
消息中间件 缓存 Kafka
go-zero微服务实战系列(八、如何处理每秒上万次的下单请求)
go-zero微服务实战系列(八、如何处理每秒上万次的下单请求)
|
4月前
|
消息中间件 SQL 关系型数据库
go-zero微服务实战系列(十、分布式事务如何实现)
go-zero微服务实战系列(十、分布式事务如何实现)
|
4月前
|
消息中间件 NoSQL Kafka
go-zero微服务实战系列(九、极致优化秒杀性能)
go-zero微服务实战系列(九、极致优化秒杀性能)
|
API Go 数据库
【Go实战 | 电商平台】(8) 创建商品
文章目录 写在前面 1. 创建商品 1.1 路由接口注册 1.2 接口函数编写 1.2.1 service层 1.2.2 api层 1.3 服务函数编写 1.4 验证服务
129 0
【Go实战 | 电商平台】(8) 创建商品
|
3天前
|
存储 Go 索引
go语言使用for循环遍历
go语言使用for循环遍历
17 7
|
3天前
|
开发框架 Go 计算机视觉
纯Go语言开发人脸检测、瞳孔/眼睛定位与面部特征检测插件-助力GoFly快速开发框架
开发纯go插件的原因是因为目前 Go 生态系统中几乎所有现有的人脸检测解决方案都是纯粹绑定到一些 C/C++ 库,如 OpenCV 或 dlib,但通过 cgo 调用 C 程序会引入巨大的延迟,并在性能方面产生显著的权衡。此外,在许多情况下,在各种平台上安装 OpenCV 是很麻烦的。使用纯Go开发的插件不仅在开发时方便,在项目部署和项目维护也能省很多时间精力。
|
6天前
|
存储 Go
go语言 遍历映射(map)
go语言 遍历映射(map)
18 2
|
7天前
|
Go 调度 开发者
Go语言中的并发编程:深入理解goroutines和channels####
本文旨在探讨Go语言中并发编程的核心概念——goroutines和channels。通过分析它们的工作原理、使用场景以及最佳实践,帮助开发者更好地理解和运用这两种强大的工具来构建高效、可扩展的应用程序。文章还将涵盖一些常见的陷阱和解决方案,以确保在实际应用中能够避免潜在的问题。 ####