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
autorender = false //API應用不須要模板渲染,因此關閉自動渲染 curl
copyrequestbody = true //RESTFul應用發送信息的時候是raw body,而不是普通的form表單,因此須要額外的讀取body信息 工具
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 |
type ObejctController struct { beego.Controller } func (this *ObejctController) Post(){ } func (this *ObejctController) Get(){ } func (this *ObejctController) Put(){ } func (this *ObejctController) Delete(){ }
添加一個對象: 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