如上图,我想封装一个基础结构体,用作web api的响应数据,status和message及代表接口的基础响应状况,其中data则是各自接口的响应数据,各个接口的响应内容肯定不尽相同,
那么我这个data怎么定义才能让不同接口的响应情况输入到该基础结构体的data中呢?
理想的结果是这样的:
{
"Status": 1,
"Data": {
"Id": 100,
"Name": "",
"Age": 32,
"IsDeleted": true
},
"Message": "OK"
}
或者
{
"Status": 1,
"Data": {
"ClassName": "1班",
"TeacherName": "李明"
},
"Message": "OK"
}
当然,以上展示响应是转过json的
把
data
类型换成interface{}
就好了,比如下面这样:这里的
interface{}
即可以理解为任意类型。当然,如果是返回给客户端的话,非
struct
类型数据,也可以通过组织 map 的方式实现,此时的Data
的类型即map[string]interface{}