beego 注解路由
场景描述:使用注解路由,不起作用。
额外描述:
路由的添加都写在 main函数中了,同时未设置
beego.BConfig.RunMode ="dev"
也未引入 :
routers包的初始化操作
其官网描述:
http://beego.me/docs/mvc/controller/router.md
应用中的大多数路由都会定义在 routers/router.go 文件中
从beego1.3版本开始支持了注解路由,用户无需在router中注册路由,只需要Include相应地controller,
然后在controller的method方法上面写上router注释(// @router)就可以了,详细的使用请看下面的例子:
// CMS API
type CMSController struct {
beego.Controller
}
func (c *CMSController) URLMapping() {
c.Mapping("StaticBlock", c.StaticBlock)
c.Mapping("AllBlock", c.AllBlock)
}
// @router /staticblock/:key [get]
func (this *CMSController) StaticBlock() {
}
// @router /all/:key [get]
func (this *CMSController) AllBlock() {
this.Ctx.WriteString("CMSController/all")
}
可以在router.go中通过如下方式注册路由:
beego.Include(&CMSController{})
beego自动会进行源码分析,注意只会在dev模式下进行生成,生成的路由放在“/routers/commentsRouter.go”文件中。
这样上面的路由就支持了如下的路由:
GET /staticblock/:key
GET /all/:key
其实效果和自己通过Router函数注册是一样的:
beego.Router("/staticblock/:key", &CMSController{}, "get:StaticBlock")
beego.Router("/all/:key", &CMSController{}, "get:AllBlock")
同时大家注意到新版本里面增加了URLMapping这个函数,这是新增加的函数,
用户如果没有进行注册,那么就会通过反射来执行对应的函数,如果注册了就会通过interface来进行执行函数,性能上面会提升很多。
————————————————
版权声明:本文为CSDN博主「ribavnu」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ribavnu/article/details/52490594
beego 注解路由的更多相关文章
- beego注解路由的格式
原文: https://blog.csdn.net/weixin_33743880/article/details/88016192 beego注解路由的注释,我们可以把我们的注释分为以下类别: @T ...
- beego注解路由不刷新(不生效)
本文主要说明本人在使用beego的注解路由时不生效问题 背景: 1.按照官网进行注解路由配置,第一次设置路由,完全正确,注解路由可用. 2.修改路由注释后,发现swagger页面并未有对应的更新 3. ...
- beego 注解路由无效问题分析
问题描述:学习 beego 框架发现注解路由无效,除了不能找到路由外,未见任何异常. 问题解决:将配置文件中的 runmode 更改为 dev 模式. 问题分析: 如果没有设置过 runmode 不会 ...
- beego注解路由 [自定义方法]
背景: beego生成的controller里面,默认get请求到由Get()方法处理:post请求由Post()方法处理 etc. 如果想自定义方法来处理请求,改怎么做? 直接拿beego的文档来说 ...
- 【beego】beego的路由设置
beego 存在三种方式的路由:固定路由.正则路由.自动路由 基础路由 从 beego 1.2 版本开始支持了基本的 RESTful 函数式路由,应用中的大多数路由都会定义在 routers/rout ...
- golang学习笔记6 beego项目路由设置
golang学习笔记5 beego项目路由设置 前面我们已经创建了 beego 项目,而且我们也看到它已经运行起来了,那么是如何运行起来的呢?让我们从入口文件先分析起来吧: package main ...
- phpstorm 注解路由插件
idea-php-annotation-plugin 设置 插件 搜索 安装 重启
- beego框架学习(二) -路由设置
路由设置 什么是路由设置呢?前面介绍的 MVC 结构执行时,介绍过 beego 存在三种方式的路由:固定路由.正则路由.自动路由,接下来详细的讲解如何使用这三种路由. 基础路由 从beego1.2版本 ...
- Go语言web开发---Beego路由
参考链接(查看更多):https://beego.me/docs/mvc/controller/router.md 基础路由 从 beego 1.2 版本开始支持了基本的 RESTful 函数式路由, ...
随机推荐
- 第二章 Vue快速入门-- 23 品牌案例-根据关键字实现数组的过滤
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- Thumbnailator 缩略图
Thumbnailator 是一个为Java界面更流畅的缩略图生成库.从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,两三行代码就能够从现有图片生成缩略图,且允许微调缩略图生成,同时保持 ...
- file命令和readlink命令
6. 如何软链接设备文件 设备文件比较特殊,如果要创建设备文件的链接,需要用到mknod命令: 1 2 3 4 5 [root@centos7 etc]# ll /dev/sda brw-rw---- ...
- js 点击不同li 切换颜色
html <div> <li " onclick='addColor(this.id)'> 会议简介 </li> <li " onclic ...
- 常用ASCII码表
- 1、检查并修改mysql的my.ini的配置文件
代码如下: default-character-set=utf8 2.建立数据库是要指定字符集 代码如下: create database mydb default character set utf ...
- C# 扩展方法——序列化与反序列化
其他扩展方法详见:https://www.cnblogs.com/zhuanjiao/p/12060937.html 主要是是对日期格式的处理 using Newtonsoft.Json; using ...
- 数组遍历 forEach 方法
数组的遍历 遍历数组,将数组中的所有元素都取出来. 使用for 循环执行数组的索引(length-1)相同的次数. var arr=["1", "5", &qu ...
- [人物存档]【AI少女】【捏脸数据】1224今日份的推荐
点击下载(城通网盘):AISChaF_20191111222714074.png 点击下载(城通网盘):AISChaF_20191108141610951.png
- re.compile 函数
re.compile 函数 compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用. 语法格式为: re.com ...