Swagger 是一个规范和完整的框架,用于生成、描写叙述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使client和文件系统做为服务器以相同的速度来更新。
项目地址是:http://swagger.io/
使用 beego 开发自带集成了 swagger的东西。前端
https://beego.me/docs/advantage/docs.md
github 地址:
https://github.com/beego/swagger
beego 使用最新的版本号:1.8.0git
建立一个项目:apiservergithub
bee api apiserver
cd apiserver/
bee run -gendoc=true -downdoc=true
会本身主动下载最新的 swagger 压缩文件:web
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!
启动成功,直接訪问就可以了:
http://localhost:8080/swagger/#/user
json
很花里胡哨的界面了,红的绿的黄的紫的。后端
配置文件添加了api
EnableDocs = true
其中 commentsRouter_controllers.go 这个文件会依据 controller 里面的内容本身主动生成。
而在 router 里面配置了 NameSpace。通用的配置了下版本号的信息。
可以在页面其中直接提交測试数据的json
可以在页面其中直接进行查询。
和以前官方的文档不太同样。因为版本号升级了。跨域
研究了下凝视:服务器
// @Description 建立用户
// @Param Username formData string "zhangsan" true "username"
// @Param Password formData string "123456" true "password"
// @Success 200 {int} models.User.Id models.User.Username models.User
// @Failure 403 body is empty
// @router /addUser [post]
func (u *UserController) Post() {
生成的界面是:
可以发送參数请求了,并且可以将cookie带入。
但是伪造cookie 就不行了。
可以考虑使用header其中存放 Token 參数保持用户登陆。
而后在请求的是都放入进去。写死一个Token 保持用户登陆。markdown
方便前端同窗进行调试开发。
本文的原文链接是: http://blog.csdn.net/freewebsys/article/details/69486943 未经博主赞成不得转载。
博主地址是:http://blog.csdn.net/freewebsys
beego 已经支持 swagger。开发一个先后端项目分离的项目最方便了。
同一时候可以要求把cookie 种到cookie 其中,而后使用子域名,进行跨域訪问。
在beego 中开启跨域訪问。
也可以存储 Token ,而后放到header头中传递用户登陆。
同一时候为了方便測试,可以写入几个默认值写死一直登陆。
方便測试借口。
可以把这个swagger 当成一个 PostMan的集合,直接进行測试调试。
很符合项目拆分开发。很的方便。