三、go微服务项目“商城项目实战开发”用户管理user-web端编写和登录校验

本文主要是介绍三、go微服务项目“商城项目实战开发”用户管理user-web端编写和登录校验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 商城项目实战开发user-web端编写和用户登录校验
    • 03、user-web接口的gin的整合和路由的搭建
    • 04、gin如何调用grpc接口
    • 05 登录接口安全性检验
  • 05、用户服务整合微服务注册中心组件—Nacos
  • 06、用户服务整合微服务配置中心组件—Nacos

商城项目实战开发user-web端编写和用户登录校验

03、user-web接口的gin的整合和路由的搭建

这里实现的主要是用户管理的web-api,可以从server那边的接口获取到json参数信息。这里通过gin服务到grpc中获取,用户可以访问url接口(router中配置的)将json返回到前端页面

在这里插入图片描述

1.将user-srv目录下的一些文件复制到user-web中。

config文件下的Args.go\config.go

global文件下的global.go

initalize文件下的args.go\config.go\zap.go\rpc.go

resources文件下的application-dev.yaml\application-prod.yaml

utils文件下的md5.go

这些文件不做更改直接复制

2.gin的整合(已封装并整合路由)

package mainimport ("fmt""go.uber.org/zap""kuangstudy-mall/apis/user-web/global""kuangstudy-mall/apis/user-web/initialize"
)func main() {// 解析命令行参数initialize.InitArgs()// 日志initialize.InitLogger()// 解析配置件initialize.InitializeConfig()// 初始化grpc的远程服务的链接initialize.InitClient()// gin 服务的封装和路由模块划分Router := initialize.InitWebRouter()err := Router.Run(fmt.Sprintf("%s:%d", *global.Args.IP, *global.Args.Port))zap.S().Infof("gin服务端口是:%d,启动了", *global.Args.Port)if err != nil {zap.S().Panicf("gin服务端口是:%d,启动失败了", *global.Args.Port)}
}

Router := initialize.InitWebRouter() 里面封装有gin框架

initialize文件下router

package initializeimport ("github.com/gin-gonic/gin""kuangstudy-mall/apis/user-web/router""net/http"
)func InitWebRouter() *gin.Engine {// 开始整合ginweb框架Router := gin.Default()//初始一个页面测试Router.GET("/ping", func(context *gin.Context) {context.JSON(http.StatusOK, "pong")})// 配置跨域,身份鉴权// 进行路由组的定义//总路由routerGroup := Router.Group("/api/v1")//用户组router.InitUserRouter(routerGroup)//管理组router.InitUserSMSRouter(routerGroup)return Router
}

router文件下的路由划分

package routerimport ("github.com/gin-gonic/gin""kuangstudy-mall/apis/user-web/api"
)func InitUserRouter(RouterGroup *gin.RouterGroup) {userRouter := RouterGroup.Group("/user"){userRouter.GET("/list", (&api.UserApi{}).FindUserList)userRouter.GET("/info/mobile", (&api.UserApi{}).GetUserInfoByMobile)userRouter.GET("/info/id", (&api.UserApi{}).GetUserInfoById)userRouter.GET("/info/:id", (&api.UserApi{}).GetUserInfoById2)userRouter.POST("/toLogin", (&api.UserApi{}).ToLogin)userRouter.POST("/reg", (&api.UserApi{}).Reg)}
}

router文件下的sms路由划分

package routerimport ("github.com/gin-gonic/gin""kuangstudy-mall/apis/user-web/api"
)func InitUserSMSRouter(RouterGroup *gin.RouterGroup) {smsRouter := RouterGroup.Group("/sms"){smsRouter.GET("/list", (&api.UserApi{}).FindUserList)smsRouter.GET("/info/mobile", (&api.UserApi{}

这篇关于三、go微服务项目“商城项目实战开发”用户管理user-web端编写和登录校验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1036487

相关文章

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

Python实战之屏幕录制功能的实现

《Python实战之屏幕录制功能的实现》屏幕录制,即屏幕捕获,是指将计算机屏幕上的活动记录下来,生成视频文件,本文主要为大家介绍了如何使用Python实现这一功能,希望对大家有所帮助... 目录屏幕录制原理图像捕获音频捕获编码压缩输出保存完整的屏幕录制工具高级功能实时预览增加水印多平台支持屏幕录制原理屏幕

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步