加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

基于beego一键创建RESTFul应用

发布时间:2020-12-16 18:59:55 所属栏目:大数据 来源:网络整理
导读:API应用开发入门 Go是非常适合用来开发API应用的,而且我认为也是Go相对于其他动态语言的最大优势应用。beego在开发API应用方面提供了非常强大和快速的工具,方便用户快速的建立API应用原型,专心业务逻辑就行了。 快速建立原型 bee快速开发工具提供了一个AP

API应用开发入门

Go是非常适合用来开发API应用的,而且我认为也是Go相对于其他动态语言的最大优势应用。beego在开发API应用方面提供了非常强大和快速的工具,方便用户快速的建立API应用原型,专心业务逻辑就行了。

快速建立原型

bee快速开发工具提供了一个API应用建立的工具,在gopath/src下的任意目录执行如下命令就可以快速的建立一个API应用:

bee api beeapi

应用的目录结构

应用的目录结构如下所示:

├── conf
│   └── app.conf
├── controllers
│   └── default.go
├── models
│    └── object.go
└── main.go

源码解析

  • app.conf里面主要针对API的配置如下:

autorender = false //API应用不需要模板渲染,所以关闭自动渲染

copyrequestbody = true //RESTFul应用发送信息的时候是raw body,而不是普通的form表单,所以需要额外的读取body信息

  • main.go文件主要针对RESTFul的路由注册

beego.RESTRouter("/object",&controllers.ObejctController{})

这个路由可以匹配如下的规则

URL HTTP Verb Functionality
/object POST Creating Objects
/object/objectId GET Retrieving Objects
/object/objectId PUT Updating Objects
/object GET Queries
/object/objectId DELETE Deleting Objects
  • ObejctController实现了对应的方法:
type ObejctController struct {
    beego.Controller
}

func (this *ObejctController) Post(){

}

func (this *ObejctController) Get(){

}

func (this *ObejctController) Put(){

}

func (this *ObejctController) Delete(){

}
  • models里面实现了对应操作对象的增删改取等操作

测试

  • 添加一个对象:

    curl -X POST -d '{"Score":1337,"PlayerName":"Sean Plott"}' http://127.0.0.1:8080/object

    返回一个相应的objectID:astaxie1373349756660423900

  • 查询一个对象

    curl -X GET http://127.0.0.1:8080/object/astaxie1373349756660423900

  • 查询全部的对象

    curl -X GET http://127.0.0.1:8080/object

  • 更新一个对象

    curl -X PUT -d '{"Score":10000}'http://127.0.0.1:8080/object/astaxie1373349756660423900

  • 删除一个对象

    curl -X DELETE http://127.0.0.1:8080/object/astaxie1373349756660423900

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读