8
对接第三方会遇到很多不定项的,没有泛型会变成每次重新定义API 。
对接第三方会遇到很多不定项的,没有泛型会变成每次重新定义API 。
问题描述:对接第三方,类型无法明确或存在一个key对应根据不同情况返回不同类型。 具体例子:对接移动物联网onenet,订阅推送时候将会得到 value 不同值的情况。 代码:
type ValueLbs {
Cid int64 `json:"cid"`
Lac int64 `json:"lac"`
}
type ValueRelay {
P int64 `json:"0"`
}
type MsgStruct {
At int64 `json:"at"`
Type int64 `json:"type"`
DsId string `json:"ds_id"`
DevId int64 `json:"dev_id"`
//Csq int64 `json:"value,optional"`
//Lbs ValueLbs `json:"value,optional"`
//Relay ValueRelay `json:"value,optional"`
}
这种情况最好还是用string,接受一个json字符串,接口根据不同客户,做对应的解析。
具体实施应该是这样: 数据库保存每个客户的推送的字段和类型,这样只要写一个通用方法去匹配客户提交的字段。