三、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

相关文章

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm