go美好
go语言框架搭建开源项目分享
imwinlion
持续创业者,你必须懂的18个移动互联网模型作者,湘龙科技联合创始人
展开
-
手把手教你封装一款适用自己的golang web编程框架
MVC 应用一般结构目录结构说明如下名称 内容 model 模型层目录,类比Java 中的entity view 视图层,存放所有templete模板 ctrl 控制器层, 存放全部控制器 service 服务层,类比Java里面的service html 一些静态资源页面 util 核心工具包,Md5加密,返回数...原创 2019-05-24 11:48:40 · 1391 阅读 · 0 评论 -
java程序员10分钟可上手的golang框架golang实战使用gin+xorm搭建go语言web框架restgo
代码结构如下,是不是有点熟悉?1、首先上效果2、如何使用2.1、使用如下指令克隆cd $GOPATH/src git clone https://github.com/winlion/restgo-admin.git 你将得到restgo-admin 目录 进入目录 cd restgo-admin2.2、数据库新建数据库名称为restgo-admin,编码为utf-8将restgo-admin.s...原创 2018-03-04 08:19:33 · 2065 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解10 使用restgo搭建后台管理系统
1、首先上效果2、如何使用2.1、使用如下指令克隆cd $GOPATH/src git clone https://github.com/winlion/restgo-admin.git 你将得到restgo-admin 目录 进入目录 cd restgo-admin2.2、数据库新建数据库名称为restgo-admin,编码为utf-8将restgo-admin.sql导入到数据库中2.3、初始...原创 2018-03-04 08:13:01 · 2829 阅读 · 0 评论 -
go语言的困境
2017年我们公司需要快速迭代一款产品,当时,我们团队的后端框架是spring mvc ,该框架结构清晰,上手快,但是由于我们的产品迭代速度快,底层数据库操作接口变动频繁,导致service层工作量巨大,不胜其烦。另外,随着项目的成长,代码量越来越大,项目启动越来越慢,严重影响了开发调试速度。在这种情况下,我们希望寻找一种新的框架或编程语言,我们期望他具备调试简单,上手快,启动速度快,保密性高,以...原创 2018-02-19 17:58:45 · 19121 阅读 · 2 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.7 控制器数据响应
数据响应包含俩个方面的内容,一是数据格式的封装,一是数据响应类型.先说数据响格式封装,为了别于运维,一般我们需要将响应结果封装到函数里面,这样前端获取的数据结构统一。对于api来说,响应到前端的数据包含如下几个参数l code:用于指示数据请求状态,200表示成功l data:后端服务返回的基础数据,一般是对象l msg:后端调用返回的操作提示,如恭喜你操作成功或者失败则提示失败原因l rows:...原创 2018-02-19 10:42:25 · 1428 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.6 控制器参数校验
参数校验主要用于校验前端提交参数的合法性和合理性,当前有很多开源校验框架,事实上gin集成了go-playground/validator.vx 作为校验插件,当前最新版本是v9,详细文档见https://godoc.org/gopkg.in/go-playground/validator.v9go-playground/validator.vx 功能非常强大,不但内置了丰富的校验方法如email...原创 2018-02-19 10:39:57 · 2804 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.9 控制器controller编程示例
该章节我们以用户管理这一需求为例,阐述如何进行控制器编程。首先我们分析用户管理需要的接口如下用户管理模块api描述编号请求格式接口描述请求数据响应数据1/user/query根据姓名、电话等注册时间等最后登陆时间、角色等搜索和统计用户 2/user/findOne根据用户编号获取基础信息 3/user/login根据用户名、密码等进行登录操作 4/user/register用户注册操作 5...原创 2018-02-19 10:45:00 · 1905 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解6.1 模型M和Orm
熟悉java中ssm框架的应该清楚,和数据库操作相关的有entity、dao、以及service层,entity将数据库表结构和java对象关联起来,而dao专门用来处理对数据库的基本操作,service层封装了具体的业务逻辑。他们结构清晰,作用明确。我们借鉴java框架,可以将entity、dao、service封装到一层,这一层,我们称之为模型层。另一方面,对于数据库处理方面,我们希望用一个对...原创 2018-02-19 10:55:55 · 8983 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解6.4 推荐编程方式
6.4 高级查询对于部分比较特殊的服务,比如根据关键字、创建时间等查询获取用户信息,我们需要设计便于维护的数据结构,我们建议将查询条件封装到一个结构体中,具体操作如下1、在model目录下定义用户信息查询条件结构体UserArg.gopackage modeltype UserArg struct { PageArg ttype string `form:"ttype" json:"tty...原创 2018-02-19 10:58:58 · 2842 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解7 视图层V
当前web3.0时代,前后端分离已经成为主流。后端方面,restful风格api大行其道;在前端上,各种js框架如vue,reactjs,anglarjs百花齐放。但是golang的视图层却是由后端渲染的,这和java类似,正因为这个原因,golang适合做一些安全性要求较高的工作。本章节主要阐述golang框架视图相关的配置.7.1 视图配置视图主要有三个配置参数#视图存放路径restgo.vi...原创 2018-02-19 11:01:15 · 2025 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解8 关于模板
8.1 模板基础语法模板基本语法不是本文的重点,本章节只阐述常用基本语法,其他语法请自行网络查阅相关知识。8.2 在模板中使用自定义函数我们需要将自动以函数统一管理起来,这个管理模块在restgo/Func.go中,该模块已经内置了ctxpath、version等常用方法,那么如果需要定制一个新的方法,该怎么做呢?以hello方法为例要使用自定义hello函数,首先需要在restgo/Func.g...原创 2018-02-19 11:03:03 · 2205 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解9 session、日志、鉴权、验证码等
9.1 sessionSession模块可选择很多,我们集成了github.com/tommy351/gin-sessions,在main函数中,我们使用如下方法开启sessionstore := sessions.NewCookieStore([]byte(cfg.Session["name"]))router.Use(sessions.Middleware(cfg.Session["name"...原创 2018-02-19 11:05:44 · 5904 阅读 · 4 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.4 控制器参数绑定
controller绑定参数常用如下方法1、 获取path中的参数// this one will match /user/john/ and also /user/john/send// If no other routers match /user/john, it will redirect to /user/john/router.GET("/user/:name/*action", fu...原创 2018-02-19 10:29:55 · 1615 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.5 控制器模型绑定
我们采用gin框架内置绑定操作进行模型绑定,常见方法分为俩类,一类是MustBind类,像Bind,BindJSON,BindQuery都是这一类,这一类绑定主要特征是一旦绑定失败则直接返回400错误;另一类绑定是ShouldBind类,像函数ShouldBind,ShouldBindJSON,ShouldBindQuery都是这一类,这一类绑定一旦失败,并不会立即响应400错误,而是将错误信息返...原创 2018-02-19 10:35:38 · 2814 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.3 资源控制器
一般来说我们实现api服务器无需资源控制器,因为api一般只需要响应json/xml,但有部分应用比如cms,需要考虑到静态资源服务,这里我们需要使用资源控制器。资源控制器设计需要考虑几个方面l 资源需要实现缓存,这样可以加快系统访问速度。l 资源管理器需要支持灵活配置,因为很多资源服务是和nginx服务器反向代理相互整合的,需要考虑易整合性。l 资源管理需要统一规划。资源有静态的如css、js文...原创 2018-02-19 10:26:19 · 1811 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.2 跳转和重定向
跳转重定向实现非常简单,我们调用gin框架内置的即可func (ctrl *PageController)Redirect(ctx *gin.Context){ ctx.Redirect(302,"/")} 本文源代码源代码获取地址 https://github.com/winlion/restgo待提供源代码清单10.1 restgo后台管理框架https://github.com/wi...原创 2018-02-19 10:22:46 · 2069 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5 控制器C
无论多么先进的框架,mvc思想都是值得借鉴的, mvc是模型(model)-视图(view)-控制器(controller)的缩写,他是一种软件设计典范,他用业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,这样做有巨大的好处,他在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。本章节重点阐述controller层.5.1 控制器定义控制器文件通常放在cont...原创 2018-02-19 10:20:35 · 4769 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解4 路由配置
4.1 路由统一管理路由的本质是将用户请求的requesturi与后端实现的业务函数进行绑定,比如用户访问http://localhot/user/register , requesturi 为/user/register ,代表用户需要调用注册业务,后端需要提供一个函数,或者展示注册页面,或者提供注册账号服务。另外,随着系统的日益复杂,路由配置参数越来越多,如果不统一管理将会导致前短接口混乱,...原创 2018-02-19 10:17:26 · 3792 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解3 系统常用配置参数
3.1 系统常用配置参数对于一个web应用,我们需要关注的参数很多,如下代码展示了常用的参数配置#应用运行模式,我们采用了gin框架,目前支持debug/release/test三种restgo.app.mode=debug#应用的名称,以后扩展,用做应用标识,便于分布式计算restgo.app.name=restgo演示#应用部署的访问协议,支持http/https两种restgo.app.pr...原创 2018-02-19 10:08:44 · 4503 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解2 框架基本架构
2、框架基本结构一个典型的项目框架,文件夹目录如下,下面我们来逐一说明这些文件夹或文件的作用.2.1 控制器文件夹controller该目录主要存储控制器文件,特别地,我们做如下约定1、 文件名称首字母一律大写,后面必须添加Controller结尾,用做标识这是控制器文件,如UserCtrl,我们就能一目了然地看到这是一个控制器文件2、 我们约定控制器文件名必须和业务强相关,比如用户相关的控制器,...原创 2018-02-19 10:03:27 · 9278 阅读 · 1 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解1.2 我要做什么
个人觉得golang 是一款非常优秀的语言,但是非常遗憾,目前还不是我们团队的最优选择,为了弥补这份遗憾,我们需要做些什么。梳理一下,我要做的事情,主要有如下几点1、演示如何集成golang web框架。本书的目的不是在于集成一个golangweb 框架,而是在于演示如何集成一个golang框架,原因如下l golang框架已经很多。国外的如matini,revel,gin等,国内也有beego....原创 2018-02-19 10:00:44 · 7811 阅读 · 1 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解1.1 go语言的困境
2017年我们公司需要快速迭代一款产品,当时,我们团队的后端框架是spring mvc ,该框架结构清晰,上手快,但是由于我们的产品迭代速度快,底层数据库操作接口变动频繁,导致service层工作量巨大,不胜其烦。另外,随着项目的成长,代码量越来越大,项目启动越来越慢,严重影响了开发调试速度。在这种情况下,我们希望寻找一种新的框架或编程语言,我们期望他具备调试简单,上手快,启动速度快,保密性高,以...原创 2018-02-19 09:58:06 · 20520 阅读 · 8 评论 -
golang微服务框架go-micro 入门笔记2.3 micro工具之消息接收和发布
本章节阐述micro消息订阅和发布相关内容阅读本文前你可能需要进行如下知识储备golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境,golang微服务框架go-micro 入门笔记2.1 micro工具之micro apigolang微服务框架go-micro 入门笔记2.2 micro工具之micro webbroker代理微服务之间需要通过...原创 2019-08-30 01:25:38 · 569 阅读 · 0 评论