iris框架demo
- golang(1.7+)
- 下载并安装Golang
项目路径应该在 本机go的src目录下 {gopath}/src/maizuo.com/back-end/iris-demo, 如果项目路径正确的路径,会导致不然访问第三方包资源
1.项目配置文件在config目录下, 本地启动项目使用的是config.json这个配置文件
2.在配置文件中, 修改server下的port和host, 确保项目运行在可用的端口上(如果出现其他人不能访问的情况,注意将server下的host修改为 0.0.0.0)
3.如果需要连接grpc服务端, 先要启动服务端项目,确保相关的服务端的port和host配置是正确的
4.如果不需要grpc相关业务, 可以在第一层的目录的main函数中, 注释掉initialize.SetupRPC() 避免启动报错(同理如果不需要redis也可以在此处注释掉)
5.本地运行项目 isDevelopment配置 确保为true, 输出日志会打印在控制台
- 启动项目
make go
go run main.go -conf ./config/local
解决方式 1.通过go get下载缺少的包(部分包需要翻墙)
eg: go get http://github.com/xxxxxxx
2.下载不下来的包 通过golangtc等第三方网站下载
3.直接拷贝其他同事已经下载好的包
demo访问
grpc接口查询
|____iris-demo 项目根目录
| |____config 配置文件目录
| | |____dev.json 测试环境配置
| | |____local.json 本地环境配置
| | |____prod.json 正式环境配置
| |____Godeps go项目打包描述目录
| | |____Godeps.json
| | |____Readme
| |____Makefile
| |____README.md
| |____src 代码根目录
| | |____server 后端项目根目录
| | | |____controller controller层 处理业务参数
| | | | |____demoController.go
| | | | |____main.go
| | | |____data data层 从其他系统获取数据 包括db,第三方接口等
| | | | |____dataInter data层接口
| | | | | |____demoDataInterface.go
| | | | |____demoData.go
| | | | |____test data层测试
| | | | | |____demoData_test.go
| | | | | |____main.go
| | | |____entity entity
| | | | |____result.go
| | | |____errcode 全局错误集合
| | | | |____main.go
| | | |____initialize 项目初始化层: 处理项目启动时需要初始化的内容:redis,db,log等
| | | | |____config.go 初始化加载项目配置
| | | | |____context.go 初始化项目上下文环境
| | | | |____error.go 全局panic异常拦截
| | | | |____logger.go 打开日志记录连接
| | | | |____redis.go 建立redis连接
| | | | |____rpc.go 建立grpc连接
| | | | |____server.go 启动http服务
| | | |____proto protobuf协议生成的对象
| | | | |____protobuf
| | | | | |____user.pb.go
| | | |____route route层: 处理路由地址 分派到对应的controller方法
| | | | |____api api: 后端接口相关
| | | | | |____main.go
| | | | |____web web: 前端页面相关
| | | |____service service层: 处理业务逻辑
| | | | |____demoService.go
| | | | |____serviceInter service层接口
| | | | | |____demoServiceInterface.go
| | | | |____test service层测试
| | | |____test
| | | | |____demo_test.go
| | | | |____test_test.go
| | | |____timer 定时器相关
| | | | |____healthCheck.go
| | | | |____timer.go
| | | | |____timerDemo.go
| | | |____util 项目工具类
| | | | |____base64.go
| | | | |____http.go
| | | | |____ip.go
| | | | |____log.go
| | | | |____md5.go
| | | | |____rateLimiter.go
| | | | |____redis.go
| | | |____common 项目常量包