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

抚顺网站建设wordpress自动重命名

抚顺网站建设,wordpress自动重命名,南阳微网站建设,从化区建设局网站一. Controller 用不同的Controller可以实现业务的分类#xff0c;不同类型的请求可以共用同一套中间件 1.1 单文件Controller 几乎等同于函数封装#xff0c;直接将ctrl的代码写入到一个文件里然后调用#xff1a; package adminimport (net/httpgit…一. Controller 用不同的Controller可以实现业务的分类不同类型的请求可以共用同一套中间件 1.1 单文件Controller 几乎等同于函数封装直接将ctrl的代码写入到一个文件里然后调用 package adminimport (net/httpgithub.com/gin-gonic/gin )func Index(ctx *gin.Context) {ctx.String(http.StatusOK, 首页) }调用 package mainimport (kanna-web/controller/admingithub.com/gin-gonic/gin )func main() {r : gin.Default()r.GET(/, admin.Index)r.Run(:80) }1.2 Controller类与继承 这个和类的写法也是一样的: package adminimport (net/httpgithub.com/gin-gonic/gin )type UserController struct { }type AdminController struct {UserController }func (c AdminController) Index(ctx *gin.Context) {ctx.String(http.StatusOK, 首页) }func (c AdminController) Page(ctx *gin.Context) {ctx.String(http.StatusOK, Page) }调用 package mainimport (kanna-web/controller/admingithub.com/gin-gonic/gin )func main() {r : gin.Default()r.GET(/, admin.AdminController{}.Index)r.GET(/page/, admin.AdminController{}.Page)r.Run(:80) }二. 中间件 中间件就是在Router到Controller之间可以执行的代码可以给单个路由添加也可以路由组添加也可以全局添加。 2.1 Default or New 在我们创建路由的时候是gin.Default()即包含了Logger和Recover这两个中间件。 如果不需要使用者两个中间件可以gin.New()。 中间件可以拿来鉴权等各种功能。 2.2 中间件的使用 最基本的形式 func baseMid(ctx *gin.Context) {fmt.Println(我进入了中间件) }func main() {r : gin.Default()r.GET(/, baseMid, admin.AdminController{}.Index)r.Run(:80) }路由组 func main() {r : gin.Default()v1 : r.Group(/v1, baseMid){v1.GET(/login, func(ctx *gin.Context) {ctx.String(http.StatusOK, Success)})}r.Run(:80) } // or v1.Use(baseMid)全局 func main() {r : gin.Default()r.Use(baseMid)v1 : r.Group(/v1){v1.GET(/login, func(ctx *gin.Context) {ctx.String(http.StatusOK, Success)})}r.Run(:80) }2.3 Next()和Abort() Next()可以先执行Control的内容再返回到Next()处 func baseMid(ctx *gin.Context) {fmt.Println(我进入了)ctx.Next()fmt.Println(我离开了) }func main() {r : gin.Default()r.Use(baseMid)r.GET(/, func(ctx *gin.Context) {fmt.Println(我显示了)ctx.String(http.StatusOK, Success)})r.Run(:80) }Abort()可以结束Controller的行为 func baseMid(ctx *gin.Context) {fmt.Println(我进入了)ctx.Abort()fmt.Println(我离开了) }func main() {r : gin.Default()r.Use(baseMid)r.GET(/, func(ctx *gin.Context) {fmt.Println(我显示了)ctx.String(http.StatusOK, Success)})r.Run(:80) }2.4 多中间件顺序 func Mid1(ctx *gin.Context) {fmt.Println(中间件1进入)ctx.Next()fmt.Println(中间件1离开) }func Mid2(ctx *gin.Context) {fmt.Println(中间件2进入)ctx.Next()fmt.Println(中间件2离开) }func main() {r : gin.Default()r.Use(Mid1, Mid2)r.GET(/, func(ctx *gin.Context) {fmt.Println(我显示了)ctx.String(http.StatusOK, Success)})r.Run(:80) } /* 中间件1进入 中间件2进入 我显示了 中间件2离开 中间件1离开 */func Mid1(ctx *gin.Context) {fmt.Println(中间件1进入)ctx.Abort()fmt.Println(中间件1离开) }func Mid2(ctx *gin.Context) {fmt.Println(中间件2进入)ctx.Next()fmt.Println(中间件2离开) }func main() {r : gin.Default()r.Use(Mid1, Mid2)r.GET(/, func(ctx *gin.Context) {fmt.Println(我显示了)ctx.String(http.StatusOK, Success)})r.Run(:80) } /* 中间件1进入 中间件1离开 */2.5 中间件与Control共享数据 可以用set*和get*等函数例如 func Mid1(ctx *gin.Context) {ctx.Set(uid, kanna) }func main() {r : gin.Default()r.Use(Mid1)r.GET(/, func(ctx *gin.Context) {uid : ctx.GetString(uid)ctx.String(http.StatusOK, uid)})r.Run(:80) }
http://www.dnsts.com.cn/news/136583.html

相关文章:

  • 网站建设公司营销话术企业管理咨询公司名称大全
  • 新网站建设需要什么公众号app下载
  • 沈阳建设银行网站js网站开发
  • 国外网站怎么浏览百度趋势搜索
  • 一个考试网站怎么做苏州实力做网站公司有哪些
  • 建设文明网 联盟网站的中铁建设集团内网登录
  • 抚顺网站建设上海龙雨建设工程有限公司网站
  • 建设一个网站平台的费用吗加强门户网站建设的讲话
  • 暴走漫画网站建设目的百度推广怎么推
  • 建设网站的网站叫什么男软件公司是做什么的
  • 南通网站托管青岛网络科技公司排名
  • 网站淘宝客怎么做的公司部门英文缩写简称大全
  • wordpress设计网站关键词排名优化易下拉系统
  • 奉贤网站建设在家做网站怎么赚钱
  • 网站数据分析表格安徽做网站
  • 贵阳做网站kuhugzpr培训
  • 商业网站建设案例视频asp.net mvc网站发布教程
  • 昆明 网站 制作wordpress视频播放插件
  • 建设游戏运营网站开展工作内容公网ip做网站访问不
  • 网帆网站建设移动应用开发是学什么的
  • 东莞市住房和城乡建设厅网站网站后续建设说明
  • 专业手机网站公司吗汝阳网站开发
  • icp网站备案流程网站开发工作需要什么专业
  • 义乌市住房和城乡建设局网站wordpress保存菜单
  • 果洛wap网站建设营销推广运营 网站
  • 网站二级域名怎么设置网站建设项目书
  • 太原seo报价郑州抖音seo
  • 网站首页地址 网站域名云尚网络科技有限公司网站建设
  • 陕西省国家示范校建设专题网站设计数码产品宣传网站
  • 网站建设开发五行属性seo的作用是什么