使用 Iris 框架写的一个后台 API 练手项目
0

iris golang for api

最近一个月在从 Laravel 转到 Go ,练手写了一个项目,还没有写完,还在持续更新中。对比了多个框架 gin , echo , beego , iris 多个框架 (如果想了解几个框架的详细对比可以看下这个链接 Awesome Web Frameworks for Gophers ,并且都尝试的写了一些小项目,这一次用 宇宙最快框架 iris 写了这个后台接口项目。

项目介绍
  1. 使用了 iris 框架
  2. 数据库使用 gorm
  3. 数据库 也是使用了几个 orm 作对比 xorm , beego orm , gorm这个几 orm 都不错,可以都了解一下,想用哪一个看个人喜好。
  4. 使用了 jwt 做单点认证,上面介绍的几个框架都是支持 jwt 认证的。iris 框架的 jwt 文档写的相对比较简单,我自己参考其他框架,做了一些小修改。
  5. 单元测试 go 有 httptest 包支持 http 请求接口测试,而且功能已经很完善了(当然还没有 Laravel 那么方便,不过已经完全够用了)。在 iris 框架的测试例子基础上,做了一些简单封装方便自己写后面的开发。 没有 http 测试的支持的话,写代码,测试代码,修改bug的时候都会非常痛苦,特别是你的代码结构非常糟糕的时候。如果你还没有写单元测试的习惯,强烈推荐你去了解下 TDD 测试驱动开发
  6. iris 框架不像 beego 有自己的热启动命令工具。可以用第三方的 gowatch 工具。

废话了那么多,现在上项目地址: 569616226/IrisApiProject


项目初始化

拉取项目

git clone https://github.com/569616226/IrisApiProject.gits

加载依赖管理包

本来是用 godep 管理的,使用后发现还是是有问题。暂时不使用依赖管理包,依赖要自行下载。

项目配置文件 /config/config.toml

cp config.toml.example config.toml

运行项目

gowatch //安装了 gowatch 热加载工具可以直接运行

go run main.go // go 命令

 // mac 如果报错 api 文档没有权限, 使用 sudo  go run main.go 

单元测试

http test

 go test -v  //所有测试

 go test -run TestUserCreate -v //单个测试

 // mac 如果报错 api 文档没有权限, 使用 sudo  go test -v 

api 文档使用

自动生成文档 (访问过接口就会自动成功)
因为原生的 jquery.min.js 里面的 cdn 是使用国外的,访问很慢。
有条件的可以开个 vpn ,如果没有可以根据下面的方法修改一下,访问就很快了

打开 apidoc/index.html 修改里面的

https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js

国内的 cdn

https://cdn.bootcss.com/jquery/2.1.3/jquery.min.js

访问文档,从浏览器直接打开 apidoc/index.html 文件


参考资料
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!