goland_beego框架学习--api实现

完成一项api实现的流程

  (1)beego框架的router层里面注册路由

  

  正则路由

    为了用户更加方便的路由设置,beego 参考了 sinatra 的路由实现,支持多种方式的路由:

    •   beego.Router(“/api/?:id”, &controllers.RController{})

      默认匹配 //例如对于URL”/api/123”可以匹配成功,此时变量”:id”值为”123”

    •   beego.Router(“/api/:id”, &controllers.RController{})

      默认匹配 //例如对于URL”/api/123”可以匹配成功,此时变量”:id”值为”123”,但URL”/api/“匹配失败

    •   beego.Router(“/api/:id([0-9]+)“, &controllers.RController{})

      自定义正则匹配 //例如对于URL”/api/123”可以匹配成功,此时变量”:id”值为”123”

    •   beego.Router(“/user/:username([\\w]+)“, &controllers.RController{})

      正则字符串匹配 //例如对于URL”/user/astaxie”可以匹配成功,此时变量”:username”值为”astaxie”  

    

    可以在 Controller 中通过如下方式获取上面的变量:

    this.Ctx.Input.Param(":id")
    this.Ctx.Input.Param(":username")
    this.Ctx.Input.Param(":splat")
    this.Ctx.Input.Param(":path")
    this.Ctx.Input.Param(":ext")
  

    还有很多提供自定义路由的方法,这里仅仅提供这两种基本的,已经可以满足使用,还想知道详细的部分,可以去查阅beego的官方文档:https://beego.me/docs/mvc/controller/router.md

(2)controller里面实现自定义的controller

    a)组合beego的Controller

      

    b)实现符合http协议的函数

      

      这两个函数的返回值Get()函数是返回一个index.tpl代码

      而post是返回变量user_name的值,this.Ctx.Input.Param()函数提取值

      而this.Ctx.Output.Body([]byte())函数在网页上直接输出

这样就完成了api的实现

      

  

最新文章

  1. test「Python」流程&中文
  2. android内存优化
  3. 介绍开源的.net通信框架NetworkComms框架 源码分析(八)SharpZipLibGzipCompressor
  4. IE已经被抛弃,但是不能遗忘
  5. Sqlserver_时间用法
  6. PCB优化设计(转载)
  7. 一个很简单的jQuery插件实例教程(菜鸟级)
  8. Linux下高效数据恢复软件extundelete应用实战
  9. leetcode第20题--Valid Parentheses
  10. 201521123071 《JAVA程序设计》第二周学习总结
  11. 邓_thinkphp口试
  12. html布局(盒子)
  13. canvas路径剪切和判断是否在路径内
  14. 黄聪:微信小程序(应用号)资源汇总整理(转)
  15. pyobjc-framework-Cocoa 5.1.2
  16. win8.1简单快速安装phpnow的方法
  17. Drainage Ditches---hdu1532(最大流)
  18. 第83天:jQuery中操作form表单
  19. 阿里云服务器ajax乱码问题
  20. OC报错,after command failed: Directory not empty

热门文章

  1. 从Go语言编码角度解释实现简易区块链
  2. 一文理解java对象初始化顺序
  3. java中多线程 - 如何创建多线程
  4. 关于微信oauth登录的坑
  5. day05整理
  6. Day 3,学习的知识点
  7. 本地客户端(自己的电脑)连接远程Oracle数据库(服务器端),客户端安装步骤
  8. 在.NET Core 3.0中发布单个EXE文件
  9. HTTP 304状态码的详细讲解
  10. 证明:S = 1 + 1/2 + 1/4 + 1/8 + 1/16 + ·······,求证 S = 2