alibabacloud-go-sdk
alibabacloud-go-sdk copied to clipboard
从没见过这么难用的官方SDK
想接入钉钉开放平台,结果你们那sdk真的是想给用户使用的吗?所有代码都是自动生成,根本不知道有哪些接口,想通过接口文档找到sdk里的代码都很费劲,调用更费劲
就是啊,真他妈恶心
是不是机器生生成的golang代码啊, 从C翻译过来的? 好恶心的指针用法. 每个对象, 甚至值都是指针, 为了安全使用不会因为空指针而panic, 你的不停的判断nil. 要吐了!!!!!!
client, err := iot.NewClient(a.config)
if err != nil {
return nil, err
}
regReq := &iot.RegisterDeviceRequest{
IotInstanceId: &a.InstanceId,
ProductKey: &a.ProductKey,
DeviceName: &deviceNum,
Nickname: &nickName,
}
resp, err := client.RegisterDevice(regReq)
if err != nil {
return nil, err
}
if resp != nil && resp.Body != nil && resp.Body.Success != nil && !*resp.Body.Success {
return nil, errors.New("reg device failed")
}
info := &DeviceInfo{}
if resp != nil && resp.Body != nil && resp.Body.Data != nil {
info.DeviceName = *resp.Body.Data.DeviceName
info.DeviceSecret = *resp.Body.Data.DeviceSecret
info.ProductKey = *resp.Body.Data.ProductKey
info.IotId = *resp.Body.Data.IotId
}
return info, nil
当前钉钉的API文档下方即可生成对应的示例代码,在习惯SDK的命名之后使用应该还是挺方便的。 代码质量的问题 我们正在做生成器优化。