淘宝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) }
评论