golang(5)使用beego 开发 api server 和前端同学拆分开发,使用swagger
1,beego api
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.0
2。很的方便
创建一个项目:apiserver
bee api apiserver
cd apiserver/
bee run -gendoc=true -downdoc=true
会自己主动下载最新的 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!
启动成功,直接訪问就能够了:
http://localhost:8080/swagger/#/user
很花里胡哨的界面了,红的绿的黄的紫的。
3,代码里面可乱了
配置文件添加了
EnableDocs = true
其中 commentsRouter_controllers.go 这个文件会依据 controller 里面的内容自己主动生成。
而在 router 里面配置了 NameSpace。通用的配置了下版本号的信息。
能够在页面其中直接提交測试数据的json
能够在页面其中直接进行查询。
和之前官方的文档不太一样。由于版本号升级了。
4,一个表单提交
研究了下凝视:
// @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() {
- 參数名
- 參数类型,能够有的值是 formData、query、path、body、header,formData 表示是 post请求的数据。query 表示带在 url 之后的參数。path 表示请求路径上得參数,比如上面样例里面的 key,body 表示是一个
raw 数据请求,header 表示带在 header 信息中得參数。 - 參数类型
- 默认值
- 是否必须
- 凝视
生成的界面是:
能够发送參数请求了,而且能够将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的集合,直接进行測试调试。
很符合项目拆分开发。很的方便。
golang(5)使用beego 开发 api server 和前端同学拆分开发,使用swagger的更多相关文章
- 教你如何帮助前端同学快速生成API接口代码
最近我们团队开源的后端微服务框架go-zero增长势头比较迅猛,这篇文章我讲讲go-zero对前端团队的作用,并通过一个示例来给大家演示我们是怎么做的,希望能给后端的同学也可以帮助前端同学提高开发效率 ...
- [前端开发] 未来趋势“无后端”的web应用开发模式
最近看到前端趋势2013大会上的一篇文章,题目是<各位快看,不用后端>,觉得有点意思,恰好近期的一次讨论及半年前的一次开发实践也涉及到这种模式,简单谈谈我的想法. 不得不说,文章的题目确实 ...
- Simple Web API Server in Golang (1)
To be an better Gopher, get your hands dirty. Topcoder offered a serials of challenges for learning ...
- Simple Web API Server in Golang (2)
In this challenge, I tried to implement a simple OAuth2 server basing on Simple Web API Server in [1 ...
- beego搭建api服务
beego介绍 beego是一个Golang实现的开源Go应用开发框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful的框架,主要设计灵感来源于tornado.sin ...
- Golang 谷歌搜索api 实现搜索引擎(前端 bootstrap + jquery)
Golang 谷歌搜索api 实现搜索引擎(前端 bootstrap + jquery) 体验 冒号搜索 1. 获取谷歌搜索api 谷歌搜索api教程 2. 后台调用 程序入口 main.go // ...
- phoenix 开发API系列(二)phoenix 各类 api 实现方式
概述 上一篇已经提到如何安装以及利用 phoenix framework 来开发一个简单的 api. 接着上次的工程,下面演示如何通过 phoenix framework 来构建各种类型的 api 来 ...
- phoenix 开发API系列(一)创建简单的http api
安装 phoenix framework 安装 phoenix 很简单: mix archive.install https://github.com/phoenixframework/archive ...
- 拿nodejs快速搭建简单Oauth认证和restful API server攻略
拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...
随机推荐
- Largest Rectangle in Histogram leetcode java
题目: Given n non-negative integers representing the histogram's bar height where the width of each ba ...
- Bootstrap学习js插件篇之滚动监听
1.滚动监听 案例 滚动监听插件可以根据滚动条的位置自动更新所对应的导航标记.Bootstrap中文网左侧就是一个滚动监听的例子. 代码段: <nav id="navbar-examp ...
- 手把手教你Android手机与BLE终端通信--连接,发送和接收数据
假设你还没有看上一篇 手把手教你Android手机与BLE终端通信--搜索,你就先看看吧,由于这一篇要接着讲搜索到蓝牙后的连接.和连接后的发送和接收数据. 评论里有非常多人问假设一条信息特别长,怎么不 ...
- Realm Swift
Realm Swift 当前这个翻译,主要是方便我自己查阅api,有非常多地方写的比較晦涩或者没有翻译,敬请谅解 version 0.98.7 官方文档 參考文献 Realm支持类型 String,N ...
- 解决spark中遇到的数据倾斜问题
一. 数据倾斜的现象 多数task执行速度较快,少数task执行时间非常长,或者等待很长时间后提示你内存不足,执行失败. 二. 数据倾斜的原因 常见于各种shuffle操作,例如reduceByKey ...
- Pylons架构网站开发从0到1
首先说明下这里的从0到1指的是从没有听说过pylons到开发出一个看上去还不错的网站.一个月前,我没有听说过也不知道什么是pylons,HTML只知道一些标签,JavaScript也不怎么懂,由于只倾 ...
- matlab使用常犯的错误
总是在最后关掉的时候忘了保存工作空间 save... 我用的版本R2013a 每次要setpath...!!!!!!!!!!
- 部署项目Nginx+Tornado+Supervisor
http://www.jianshu.com/p/9bebb99368ea Tornado Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻 ...
- 为什么要使用href=”javascript:void(0);”?
JavaScript中语句最后的分号是可以缺省的,那为何要使用javascript:;而不是javascript:呢? 是习惯还是规范,我疑惑了! 具有代码洁癖的coder们,没事多写一个分号,圣洁的 ...
- C#.NET常见问题(FAQ)-VS如何整个项目中查找字符串
Ctrl+F打开查找对话框,然后输入查找字符串,电机右边的小三角,选择整个解决方案,就可以遍历所有文件查找指定字符了 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http:// ...