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() {
  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的集合,直接进行測试调试。

很符合项目拆分开发。很的方便。

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

  1. 教你如何帮助前端同学快速生成API接口代码

    最近我们团队开源的后端微服务框架go-zero增长势头比较迅猛,这篇文章我讲讲go-zero对前端团队的作用,并通过一个示例来给大家演示我们是怎么做的,希望能给后端的同学也可以帮助前端同学提高开发效率 ...

  2. [前端开发] 未来趋势“无后端”的web应用开发模式

    最近看到前端趋势2013大会上的一篇文章,题目是<各位快看,不用后端>,觉得有点意思,恰好近期的一次讨论及半年前的一次开发实践也涉及到这种模式,简单谈谈我的想法. 不得不说,文章的题目确实 ...

  3. Simple Web API Server in Golang (1)

    To be an better Gopher, get your hands dirty. Topcoder offered a serials of challenges for learning ...

  4. 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 ...

  5. beego搭建api服务

    beego介绍 beego是一个Golang实现的开源Go应用开发框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful的框架,主要设计灵感来源于tornado.sin ...

  6. Golang 谷歌搜索api 实现搜索引擎(前端 bootstrap + jquery)

    Golang 谷歌搜索api 实现搜索引擎(前端 bootstrap + jquery) 体验 冒号搜索 1. 获取谷歌搜索api 谷歌搜索api教程 2. 后台调用 程序入口 main.go // ...

  7. phoenix 开发API系列(二)phoenix 各类 api 实现方式

    概述 上一篇已经提到如何安装以及利用 phoenix framework 来开发一个简单的 api. 接着上次的工程,下面演示如何通过 phoenix framework 来构建各种类型的 api 来 ...

  8. phoenix 开发API系列(一)创建简单的http api

    安装 phoenix framework 安装 phoenix 很简单: mix archive.install https://github.com/phoenixframework/archive ...

  9. 拿nodejs快速搭建简单Oauth认证和restful API server攻略

    拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...

随机推荐

  1. Spark RDD关联操作小结

    前言 Spark的rdd之间的关系需要通过一些特定的操作来实现, 操作比较多也,特别是一堆JOIN也挺容易让人产生混乱的. 因此做了下小结梳理一下. 准备数据 var rdd1 = sc.makeRD ...

  2. [转载]Elasticsearch索引重建(Rebuild)

    From:http://blog.csdn.net/changong28/article/details/38491185 索引重建(Rebuild) 索引创建后,你可以在索引当中添加新的类型,在类型 ...

  3. WPF Converter 使用复杂参数的方法

    Step 1在WPF的C#代码文件中给定义复杂类型的变量,并给其赋值:Sample code: List<User>lsUser=....Setp 2在 C#代码对应的XAML 中将此复杂 ...

  4. Python构造字符串

    不断报错 coercing to Unicode : 不要用+连接字符串,要用格式化字符串 None的问题:只能用 or “”的方式来解决了 not all arguments converted d ...

  5. [Functional Programming 101] runWIth, evalWith, execWith

    Recentlly, I am learning crocks.js ADT libaray. In the beginning, it is hard to understand when to u ...

  6. JS计算本周一和本周五的日期

    代码不长: var today=new Date();var weekday=today.getDay();    var monday=new Date(1000*60*60*24*(1-weekd ...

  7. VM虚拟机安装之后出现无法自动登录到桌面以及__vmware_user__怎么办

    1 运行control userpasswords2 打开用户账户对话框,点击高级选项中的"高级"按钮 2 右击" __vmware_user__"这个账户,选 ...

  8. ArcGIS高程Z值的去除方法

    在ArcGIS中,我们常用的几何类型有点.线.面.体(体,在涉及三维的情况下使用),但在这之外,可能会遇到带ZM的类型,如图所示,面ZM,它与面类似,但比面多两个字段. 在编辑中查看草图属性可看到Z值 ...

  9. exception PLS-00403: expression 'V_END' cannot be used as an INTO-target of a SELECT/FETCH statement

      exception PLS-00403: expression 'V_END' cannot be used as an INTO-target of a SELECT/FETCH stateme ...

  10. 〖Windows〗zigbee实验之cygwin编译tinyos.jar编译出错的解决方法

    1. 使用的cygwin安装包下载地址:cygwin-files.zip 2. 使用的一些rpm安装包的下载地址:cygwin_cc2430_rpms.zip 3. cygwin的默认安装目录是:C: ...