其实,没有设计是一步到位的,指责设计不当感觉不适合,
你可以看看restful 最佳实践,可以让他增加一个embed(或者expend) 参数
自动加载相关的资源
很多时候,自动加载相关资源非常有用,可以很大的提高效率。但是这却和RESTful的原则相背。为了如此,我们可以在url中添加参数:embed(或者expend)。embed可以是一个逗号分隔的串,例如:
1
GET /ticket/12embed=
customer.name,assigned_user
对应的API返回值如下:
{
"id" : 12,
"subject" : "I have a question!",
"summary" : "Hi, ....",
"customer" : {
"name" : "Bob"
},
assigned_user: {
"id" : 42,
"name" : "Jim",
}
}
值得提醒的是,这个功能有时候会很复杂,并且可能导致N+1 SELECT 问题。
http://blog.jobbole.com/41233/