golang(5)使用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

会自动下载最新的 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    "用户名"
// @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. 参数类型,可以有的值是 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的集合,直接进行测试调试。
非常符合项目拆分开发。非常的方便。

时间: 2024-10-01 23:24:51

golang(5)使用beego 开发 api server 和前端同学拆分开发,使用swagger的相关文章

java微信开发API第二步 获取和回复消息_java

微信开发API如何获取和回复消息,下面就为大家进行介绍 一.说明 * 本示例根据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/2016 5:34:36 PM )进行开发演示. * 编辑平台:myeclipse10.7+win32+jdk1.7+tomcat7.0  * 服务器:阿里云 windows server 2008 64bits * 平台要求:servlet使用注解方式,平台要求:j2ee6.0+.jdk6.0+.t

java微信开发API第一步 服务器接入_java

微信开发API如何接入服务器,下面就为大家进行介绍 一.说明 * 本示例根据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/2016 5:34:36 PM )进行开发演示. * 编辑平台:myeclipse10.7+win32+jdk1.7+tomcat7.0  * 服务器:阿里云 windows server 2008 64bits * 平台要求:servlet使用注解方式,平台要求:j2ee6.0+.jdk6.0+.tom

Delphi开发Web Server程序返回图像的方法

Internet/Intranet在九十年代可能是最流行的计算机术语了,不管是计算机行业内的人士还是计算机外的人士,都会使用Internet/Intranet,有的查资料,有的是宣传自己和公司,甚至有许多以前从没有想到用Internet的东西现在也在用Internet来解决, 比如有的程控数字计算机维护用Internet来解决.在这一切应用之中,基于Web Server的应用程序的开发是基本点,但如何开发Web Server的程序呢? Delphi 3是Borland公司1997年推出的可视化.

C#对游戏手柄的编程开发-API篇(2)

回顾"被动方式"开发 在C#对游戏手柄的编程开发-API篇(1)这篇文章中我们介绍了"被动方式"的开发.在此方式下,我们 的程序只扮演一个消息接收者.系统会定时告诉我们某个游戏手柄当前的状态,我们的程序接收到后再按 实际需要进行处理即可.但如果你是一个细心的人,你会发现如果直接按消息事件处理的话会存在一个问 题,如我们按下某个键(比如向上的方向键)然后放开时,对于我们"人"来说,我们按下与弹起的这两 个动作应该只是说明我们只点击这个按钮一次.但对

C#对游戏手柄的编程开发-API篇(1)

前段时间花38元从网上买了一对北通的USB游戏手柄,这样周末与晚上的休闲时间就可以玩玩孩儿时的 SFC与街机模拟游戏了.开发-API篇(1)-c站"> 某日在某个网站上玩一个Flash游戏时,突然想到,如果也能使用手柄来玩Flash游戏,那该多爽 . 但可惜的是,目前的Flash都是不支持对游戏手柄进行编程,这不免是Flash中的一个遗憾.. 虽然Flash中不支持对游戏手柄进行编程,但我们可以换种方法,做一个辅助程序(外挂? ) ,将手柄中的操作事件转换为Flash中可接受的键盘与鼠标操

模板-soildwords 二次开发api sdk 安装问题?

问题描述 soildwords 二次开发api sdk 安装问题? 安装完soildworks2013跟vs2010后,去装2010版的api sdk,安装成功后所有语言下面都没有soildworks的模板,然后我把swvbaddin.rar的文件手动的复制到c:Program Files(X86)Microsoft Visual Studio 10.0Common7IDEProjectTemplatesVisualBasic下面后,发现vs2010里面的Visual C++的下面有了soild

开发流程- 公司要与其他网站合作,要求开发api接口,供合作方调用,返回的数据是json或xml格式的

问题描述 公司要与其他网站合作,要求开发api接口,供合作方调用,返回的数据是json或xml格式的 请问这个开发流程大概是怎样的?求解..................................................... 解决方案 asp.net webapi非常适合做这个,你只要按照你原来的方式编写函数调用,它会自动将提交的数据转换成对象,作为参数传入,以及传出的参数转换成json返回. 解决方案二: 不管你后台用.net还是java还是php,你只需要公布一个可以访问的

api文档-有关NAVISWORKS二次开发API文档的问题

问题描述 有关NAVISWORKS二次开发API文档的问题 我按照您所说的路径在navisworks2014的安装目录下并没有找到相应的api.pdf文件,我想咨询一下是否版本的问题? 解决方案 2013版本以后NV就没有自带的api文档了,在autodesk官网上下个SDK文件,安装过后什么都有了.

windows-如何通过Windows HPC server搭建集群并行开发环境?

问题描述 如何通过Windows HPC server搭建集群并行开发环境? 如何通过Windows HPC server搭建集群并行开发环境?刚接触,众多问题不了解,希望能帮忙解答