我想做的是:
1.从端点中的url参数解析模型。(例如:媒体,帐户)
mysite.com/v1/rest/:model< - :model可以是' media',' account'。
所以它看起来像:
mysite.com/v1/rest/media
mysite.com/v1/rest/account
2.使用1,检索字符串并将其用于获取相应的结构。
3.将其置于接口{}
的方法中
我的代码如下:
type Media struct {
Caption string
}
type Account struct {
Bio string
}
type AdminController struct {
TableName string
ID int64
}
func (c *AdminController) Get(n *core.Network) {
// I want to put struct to below GetModels method dynamically.
// Not explicitly like this.
total, data, err := c.GetModels(&Media{}, n)
// I want to do this
total, data, err := c.GetModels(caster("media"), n)
if err != nil {
n.Res.Error(err)
} else {
n.Res.Success(total, data)
}
}
是否可以实现获取字符串并返回相应结构的方法?像这样:
func (c *AdminController) caster(model string) interface{} {
if string == "media" {
return &Media{}
} else if string == "account" {
return &Account{}
}
return nil
}
如果可能,这是处理REST请求的一种好方法(通用方式)还是应该按表格逐个实施响应方法?
如果我必须实现REST(4)* number_of_tables方法,它似乎并不高效。任何关于这个架构问题的建议都将受到赞赏。