zoukankan      html  css  js  c++  java
  • 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() {
    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的集合,直接进行測试调试。


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

  • 相关阅读:
    mybatis plus 执行sql
    springboot 打印 mybatisplus 的sql
    easyexcel 简单使用
    springboot ehcache
    easyexcel 时间转换
    springboot stopwatch
    c# 开机自动启动
    sqlHelper
    DirectX录音
    c# 发邮件
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7347260.html
Copyright © 2011-2022 走看看