我有多个 API,它们在高级响应上遵循类似的结构。它总是以这种形式返回答案:
{"data": {"feed":[{...}]}, "success": true}
然而,Feed 中的结构会有所不同,具体取决于具体的 API。
我现在想构建一个抽象函数来处理各种 API。我有以下对象:
type SourceDTO struct { // top level object
Success bool `json:"success"`
Data Feed `json:"data"`
}
type Feed struct {
FeedData []<???> `json:"Feed"`
}
(真实的物体更复杂,但这表明了想法)
如果有一些通用代码和一些基于高级数据(例如成功)的逻辑,那么 go 为不同的 API 解析这个问题的好方法是什么?
编辑: 我正在扩展这个,以更多地解释我关于我正在寻找的“模式”的问题的扩展。
我想创建这个解析 API 组的包。然后必须将 DTO 对象转移到其他一些对象中。这些“最终”对象在不同的包(实体包)中定义,然后必须被持久化。
我现在想知道如何将所有这些整合在一起:“最终”实体对象、从 DTO 到实体的转换函数、不同 API 的解析及其常见和不同的结果组件。
转换函数属于哪里(包方面)?
EDIT2:深入研究问题后将 FeedData 指定为切片(请参阅评论)
json去
MYYA
慕工程0101907
相关分类