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信息
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
原文地址:https://www.jb51.cc/go/191308.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。