zoukankan      html  css  js  c++  java
  • goland_beego框架学习--api实现

    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的实现

          

      

  • 相关阅读:
    学习再学习···
    Verilog中文件输入与输出任务实例解析(转载)
    入门实验——流水灯
    论文的参考文献
    Testbench新接触(学习笔记)
    Verilog再接触 问题集
    verilog 语句不可综合和可综合汇总
    关于modelsim 6.4a遇到的问题
    DevExpress.XtraEditors.GridLookUpEdit 隐藏列
    Sql 计算一个词出现的次数
  • 原文地址:https://www.cnblogs.com/miaoliangJUN/p/11881501.html
Copyright © 2011-2022 走看看