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

简介: 1,beego apiSwagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。 项目地址是:http://swagger.io/ 使用 beego 开发自带集成了 swagger的东西。 https://beego.me/docs/advantage/doc

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的集合,直接进行测试调试。
非常符合项目拆分开发。非常的方便。

目录
相关文章
|
10天前
|
前端开发 JavaScript API
(前端3D模型开发)网页三维CAD中加载和保存STEP模型
本文介绍了如何使用`mxcad3d`库在网页上实现STEP格式三维模型的导入与导出。首先,通过官方教程搭建基本项目环境,了解核心对象如MxCAD3DObject、Mx3dDbDocument等的使用方法。接着,编写了加载和保存STEP模型的具体代码,包括HTML界面设计和TypeScript逻辑实现。最后,通过运行项目验证功能,展示了从模型加载到保存的全过程。此外,`mxcad3d`还支持多种其他格式的三维模型文件操作。
|
2天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
22 3
|
1月前
|
前端开发 JavaScript 安全
揭秘!前端大牛们如何高效解决跨域问题,提升开发效率!
【10月更文挑战第30天】在Web开发中,跨域问题是一大挑战。本文介绍前端大牛们常用的跨域解决方案,包括JSONP、CORS、postMessage和Nginx/Node.js代理,对比它们的优缺点,帮助初学者提升开发效率。
66 4
|
2月前
|
负载均衡 前端开发 JavaScript
前端研发链路之开发
本文首发于微信公众号“前端徐徐”,作者徐徐。文章介绍了前端研发链路中的开发部分,重点探讨了开发服务器(dev-server)、热更新(hot-reload)、数据模拟(mock)和代理(proxy)等关键技术,帮助开发者理解其基本原理和应用场景,提升开发效率和代码质量。
39 2
前端研发链路之开发
|
2月前
|
人工智能 前端开发 测试技术
探索前端与 AI 的结合:如何用 GPT-4 助力开发效率
本文介绍了 GPT-4 如何成为前端开发者的“神队友”,让开发变得更加高效愉快。无论是需求到代码的自动生成、快速调试和性能优化,还是自动化测试和技术选型,GPT-4 都能提供极大的帮助。通过智能生成代码、捕捉 BUG、优化性能、自动化测试生成以及技术支持,GPT-4 成为开发者不可或缺的工具,帮助他们从繁重的手动任务中解脱出来,专注于创新和创意。GPT-4 正在彻底改变开发流程,让开发者从“辛苦码农”转变为“效率王者”。
49 0
探索前端与 AI 的结合:如何用 GPT-4 助力开发效率
|
2月前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
241 0
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
|
2月前
|
前端开发 JavaScript 开发者
前端angularJs的开发过程
前端angularJs的开发过程
19 1
|
3月前
|
前端开发 开发者 UED
前端只是切图仔?来学学给开发人看的UI设计
该文章针对前端开发者介绍了UI设计的基本原则与实践技巧,覆盖了布局、色彩理论、字体选择等方面的知识,并提供了设计工具和资源推荐,帮助开发者提升产品的视觉与交互体验。
|
2月前
|
JavaScript 前端开发 应用服务中间件
Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
43 0
|
3月前
|
开发框架 前端开发 JavaScript
【博客开发】前端应用开发环境搭建(可复用)
【博客开发】前端应用开发环境搭建(可复用)
53 5
下一篇
DataWorks