golang 使用beego 开发 api server 和前端同学拆分开发,使用swagger

 

1,beego api


Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。 
项目地址是:http://swagger.io/ 
使用 beego 开发自带集成了 swagger的东西。 
https://beego.me/docs/advantage/docs.md 
github 地址: 
https://github.com/beego/swagger 
beego 使用最新的版本:1.8.0

2,非常的方便


创建一个项目:apiserver

bee api apiserver
cd apiserver/
bee run -gendoc=true -downdoc=true
  • 1
  • 2
  • 3

会自动下载最新的 swagger 压缩文件:

2017/04/06 20:52:08 INFO     ▶ 0001 Using 'apiserver' as 'appname'
2017/04/06 20:52:08 INFO     ▶ 0002 Loading default configuration...
2017/04/06 20:52:08 INFO     ▶ 0003 Downloading 'https://github.com/beego/swagger/archive/v2.zip' to 'swagger.zip'...
2017/04/06 20:52:21 SUCCESS  ▶ 0004 800610 bytes downloaded!
  • 1
  • 2
  • 3
  • 4

启动成功,直接访问就可以了: 
http://localhost:8080/swagger/#/user 

非常花里胡哨的界面了,红的绿的黄的紫的。

3,代码里面可乱了


配置文件增加了

EnableDocs = true
  • 1

其中 commentsRouter_controllers.go 这个文件会根据 controller 里面的内容自动生成。 
而在 router 里面配置了 NameSpace。通用的配置了下版本的信息。 

可以在页面当中直接提交测试数据的json 

可以在页面当中直接进行查询。 
和之前官方的文档不太一样。因为版本升级了。

4,一个表单提交


研究了下注释:

// @Description 创建用户
// @Param   Username    formData    string  "zhangsan"  true    "用户名"
// @Param   Password    formData    string  "123456"    true    "密码"
// @Success 200     {int}       models.User.Id models.User.Username models.User
// @Failure 403     body is empty
// @router /addUser [post]
func (u *UserController) Post() {
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  1. 参数名
  2. 参数类型,可以有的值是 formData、query、path、body、header,formData 表示是 post请求的数据,query 表示带在 url 之后的参数,path 表示请求路径上得参数,例如上面例子里面的 key,body 表示是一个 
    raw 数据请求,header 表示带在 header 信息中得参数。
  3. 参数类型
  4. 默认值
  5. 是否必须
  6. 注释

生成的界面是: 

可以发送参数请求了,并且可以将cookie带入。 
但是伪造cookie 就不行了。 
可以考虑使用header当中存放 Token 参数保持用户登录。 
然后在请求的是都放入进去,写死一个Token 保持用户登录。 
方便前端同学进行调试开发。

4,总结


本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/69486943 未经博主允许不得转载。 
博主地址是:http://blog.csdn.net/freewebsys

beego 已经支持 swagger,开发一个前后端项目分离的项目最方便了。 
同时可以要求把cookie 种到cookie 当中,然后使用子域名,进行跨域访问。 
在beego 中开启跨域访问。 
也可以存储 Token ,然后放到header头中传递用户登录。 
同时为了方便测试,可以写入几个默认值写死一直登录。 
方便测试借口。 
可以把这个swagger 当成一个 PostMan的集合,直接进行测试调试。 
非常符合项目拆分开发。非常的方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值