Go语言之高级篇beego框架之参数配置与路由配置

一、参数配置

beego默认会解析当前应用下的conf/app.conf文件

1.1、beego的参数配置

appname = WEB
httpport = 8080
runmode = dev   

几种开发模式

[dev]
httpprot = 8080
[prod]
httpport = 8081
[test]
httpport = 8082

//备注: beego.AppConfig.String( "dev::mysqluser" ) //dev标签

1.2、beego的应用参数配置

mysqladrr = "127.0.0.1"mysqlprot = 9090mysqlusermysqlpassword

 

二、路由配置

2.1、基础路由

法一:
beego.Router("/", &controllers.MainController{})
beego.Router("/admin", &admin.UserController{})
beego.Router("/admin/index", &admin.ArticleController{})
beego.Router("/admin/addpkg", &admin.AddController{})法二:
beego.Get("/",func(ctx * context.Context){ctx.Output.Body([]bype("hello world"))
})

 

示例:配置路由

修改配置文件: vi  /routers/router.go

a、带路由名称
beego.Router("/beego", &controllers.MainController{})#访问网站
http://127.0.0.1:8080/beegob、根目录
beego.Router("/", &controllers.MainController{})#访问网站
http://127.0.0.1:8080

  

 2.2、自定义方法RESTful规则

#设置请求的方法
beego.Router("/",&IndexController{},"*:Index")* 表示任意的method都执行该函数 使用httpmethod:funcname格式来展示 多个不同的格式使用; 分割 多个method对应同一个funcname, method之间通过,来分割以下是一个 RESTful 的设计示例: beego.Router("/api/list",&RestController{},"*:ListFood") beego.Router("/api/create",&RestController{},"post:CreateFood") beego.Router("/api/update",&RestController{},"put:UpdateFood") beego.Router("/api/delete",&RestController{},"delete:DeleteFood")
以下是多个 HTTP Method 指向同一个函数的示例: beego.Router("/api",&RestController{},"get,post:ApiFunc")
以下是不同的 method 对应不同的函数,通过 ; 进行分割的示例: beego.Router("/simple",&SimpleController{},"get:GetFunc;post:PostFunc")

 

示例:

 vi controllers/default.go

package controllersimport ("github.com/astaxie/beego"
)type MainController struct {beego.Controller
}func (c *MainController) Get() {c.Data["Website"] = "beego.me"c.Data["Email"] = "astaxie@gmail.com"c.TplName = "index.tpl"
}func (c *MainController) Post() {c.Ctx.WriteString("this is method post!")}

vi  routers/router.go

package routersimport ("WEB/controllers""github.com/astaxie/beego"
)func init() {beego.Router("/", &controllers.MainController{}, "get:Get;post:Post")
}

执行结果:

 先安装git 软件

 

转载于:https://www.cnblogs.com/nulige/p/10334184.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ int转string以及源码

今天遇到一个int类型数据转换为string,查了资料在c11标准中增加了全局函数std::to_string来实现该功能: string to_string (int val); string to_string (long val); string to_string (long long val); string to_string (unsigned val); string t…

EUREKA原理总结

Eureka高可用架构 https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance 上图中主要的名称说明: Register:EurekaClient注册(Http请求)到EurekaServer,EurekaClient会发送自己元数据(ip,port,主页等)&#xff0…

linux下安装oracle 11g R2

Linux环境配置 [c-sharp]view plaincopy OS:Fedora 15 DB:Oracle 11gR2 将Oracle安装到home/oracle_11目录 配置过程:本文来自Oracle官方文档网上资料 Oracle官方文档:http://www.oracle.com/pls/db112/homepage 1. 以root用户登录到Linux 2. 检查机器…

通俗理解数字签名,ssl数字证书和https

前言 最近在开发关于PDF合同文档电子签章的功能,大概意思就是在一份PDF合同上签名,盖章,使其具有法律效应。签章有法律效应必须满足两个条件: 能够证明签名,盖章者是谁,无法抵赖PDF合同在签章后不能被更改在…

linux 性能分析工具——perf

最近需要对linux下的开发的数据库应用程序进行性能调试,找到了该篇文章,保存下来为了以后便于查找,这篇是转载的perf文章,后续还有vtune相关的文章。 转载:https://blog.csdn.net/u014608280/article/details/8026571…

红外遥控

红外遥控简介红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所…

使用jQuery Mobile移动开发框架将博客网站快速转化为Mobile网站

日期:2012-7-12 来源:GBin1.com 在线演示 jQuery Mobile是一个非常不错的移动端网站应用的解决方案,很多网站都使用jQuery Mobile来生成Mobile手机端的移动网站应用,在过去的GBin1博客文章中,我们曾经使用jQuery Mob…

NVLink技术及影响解析

1繁华的背面 最新GPU架构Pascal,能自己开上舞台的Audi A7,超过700名与会专家学者及技术人员,近百场学术会议和科研分享,连续两晚的happy hour、酒会和GTC Party……在一片喧嚣和欢乐当中,2014年度的GTC大会降下了帷幕。…

2022年结束了

在去年这个时候,我刚好也写了一篇这样的文章。再往前是2020年的总结年终了,肿一下斗转星移,我的这个公众号也陪伴着我经过了4年的时间,明年后,我也正式进入35岁程序员的行列,随时会受到命运对我的锤炼。庆幸…

STL容器之deque

双端队列&#xff1b;序列式容器(deque/vector)&#xff1b;底层分段连续 支持从双端进行插入和删除&#xff1b; 综合了vector和list的优点&#xff1b; 插入、删除、查找的平均时间复杂度都是O(1) 部分deque的操作如下&#xff1a; #include <stdlib.h> #include …

varnish-cache使用

Varnish Cache是一个web加速软件&#xff0c;用作web服务加速的反向代理&#xff0c;与Squid不同的是它建立在较新的系统内核调用上&#xff0c;并且主要是使用内存作为缓存&#xff0c;它现有的使用者有facebook等&#xff0c;据使用者反馈&#xff0c;其与Squid相比&#xff…

2020年文章汇总

据悉&#xff0c;深圳某工程师沦为C语言笔试枪手修改cmdline 把内存改成512MB上拉电阻的作用剖析C语言是如何画出这样的三角形的c语言画谢宾斯基三角形Linux字符设备驱动实例哦&#xff0c;这是桶排序回答一个微信好友的创业问题Linux-C编程 / 多线程 / 如何终止某个线程&#…

2018年文章汇总

Android ANR 实例分析Linux kernel计算某段代码运行时间Linux Kernel 发展和内核特点C/C函数指针与指针函数(二)老王带你理解算法复杂度O(1),O(N),O(N^2)Android NDK Tombstone/Crash 分析堆和栈的区别&#xff08;转过无数次的文章&#xff09;C语言scanf-周末杂想C语言-scanf…

Angular CLI的简单使用(1)

参考地址: https://v2.angular.cn/docs/ts/latest/cli-quickstart.html Angular CLI是一个命令行界面工具&#xff0c;它可以创建项目、添加文件以及执行一大堆开发任务&#xff0c;比如测试、打包和发布。 1. 请先在终端/控制台窗口中运行命令 node -v 和 npm -v, 如下图,没有…

在没有数据集的情况下使用数据表

使用数据适配器填充数据表 View Code using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient;namespace PopDataTable {class Program{static void Main(string[] args){string connString…

2019年文章汇总

要不要去培训机构深造一下&#xff1f;我一个37岁的程序员朋友Linux内核中的GPIO系统整理的免费资料&#xff0c;帮你年后跳槽C语言&#xff0c;字符串指针做函数参数书籍推荐过年回家抢票攻略C语言&#xff0c;函数不可返回指向栈内存的指针你还会写这段C51程序吗&#xff1f;…

linux下修改max_user_processes和open_file的最大值

从事分布式服务器开发工作的都会遇到&#xff0c;linux下open_file的值默认是1024&#xff1b;max user processes的值默认是4096&#xff0c;在实际用于中&#xff0c;这两个值严重不足&#xff0c;常常需要调整这两个值。默认配置如下&#xff1a; 可以通过以下两种方式修改&…

IP SLA的路径控制

一、定义SLA 服务水平协议&#xff08;简称&#xff1a;SLA&#xff0c;全称&#xff1a;service level agreement&#xff09;是在一定开销下为保障服务的性能和可靠性&#xff0c;服务提供商与用户间定义的一种双方认可的协定。通常这个开销是驱动提供服务质量的主要因素。简…

【linux】linux系统中常见配置文件及目录说明

1.配置文件/proc/sys/fs/file-nr 里文件里显示三个数字 [rootlocalhost logs]# cat /proc/sys/fs/file-nr 2112 0 2100000已分配文件句柄的数目 已使用文件句柄的数目 文件句柄的最大数目 上面第二项的值为0表示分配的文件…

ptmalloc,tcmalloc和jemalloc内存分配策略研究

转载&#xff1a;https://cloud.tencent.com/developer/article/1173720 操作系统内存布局 各种malloc的内存分配管理方式离不开操作系统的内存布局策略。 32位经典内存布局 32位系统下经典内存布局如上&#xff0c;程序起始的1GB地址为内核空间&#xff0c;接下来是向下增长…