基於beego一鍵建立RESTFul應用

API應用開發入門

Go是很是適合用來開發API應用的,並且我認爲也是Go相對於其餘動態語言的最大優點應用。beego在開發API應用方面提供了很是強大和快速的工具,方便用戶快速的創建API應用原型,專心業務邏輯就好了。 git

快速創建原型

bee快速開發工具提供了一個API應用創建的工具,在gopath/src下的任意目錄執行以下命令就能夠快速的創建一個API應用: github

bee api beeapi api

應用的目錄結構

應用的目錄結構以下所示: app

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

源碼解析

  • app.conf裏面主要針對API的配置以下:

autorender = false //API應用不須要模板渲染,因此關閉自動渲染 curl

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裏面實現了對應操做對象的增刪改取等操做

測試

  • 添加一個對象: this

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

    返回一個相應的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

相關文章
相關標籤/搜索