淘宝api sdk golang
淘宝开放平台的go版的SDK. 内置sdk生成工具.
可由淘宝提供的ApiMetadata.xml,自动生成sdk. 主要有两种生成方式:
分结构生成
-
一键生成所有
示例代码:
package main
import (
"github.com/ohohco/taobao/autosdk"
"log"
"os"
"path"
)
var (
//生成文件所在路径.
root = "github.com/ohohco/taobao/api"
//ApiMetadata.xml文件
filename = "./ApiMetadata.xml"
//api文档的调用方法
apiMethod = "taobao.item.get"
//生成文件所在路径(绝对路径).
dest = path.Join(os.Getenv("GOPATH"), "src/github.com/ohohco/taobao/api")
)
func main() {
log.SetFlags(log.Lshortfile | log.LstdFlags)
//文件读取
var metadata *autosdk.Metadata
metadata, err := metadata.UnmarshalFile(filename)
if err != nil {
panic(err)
}
//文件生成
///////////////
////方式1//////
///////////////
if err = metadata.GenerateByApiMethod(apiMethod, dest); err != nil {
panic(err)
}
///////////////
////其他方式///
///////////////
if err = metadata.Generate(dest); err != nil {
panic(err)
}
//代码格式化:
if err = autosdk.Format(dest); err != nil {
panic(err)
}
//代码install:
if err = autosdk.Install(path.Join(root, "domain"),
path.Join(root, "request"),
path.Join(root, "response")); err != nil {
panic(err)
}
}
///////////////
////方式2//////
///////////////
if err = metadata.Generate(dest); err != nil {
panic(err)
}评论
