2018年9月6日更新
我的模型是这样的:
public class Activity
{
public int Id { get; set; }
public List<Additive> Additives { get; set; }
}
public class Additive
{
public int Id { get; set; }
public int ActivityId { get; set; }
public Activity Activity { get; set; }
}
原始问题
我正在开发一个RESTful应用程序接口,我想以最干净的方式完成它。
目前我正在从事数据检索工作。所以我得到了这个
如果我创建了一个名为activity的新资源,并且它有一个对象数组,假设(硬编码,不具有代表性):
{
"name": "act1",
"objects": [
{ "obj1":"val1" },
{ "obj2":"val2" }]
}
我可以在我的数组中添加或删除对象。
现在,我的问题是,如果我想用这样的url访问它们:
Api/activity/1/objects/2
告诉MySQL这个对象是列表中的第2个对象的正确方法是什么?
或者,我应该在后端选择Act1的所有对象,并对它们进行过滤,以便只检索第2个对象。
发布于 2018-06-10 06:32:50
REST服务中的资源必须具有稳定的urls,这一点非常重要。因此,为了弄清楚什么是“第二”,你真的需要思考一下,在榜单上排名第二意味着什么。
你是按什么点菜的吗?如果是这样的话,使用这种结构可能是一个坏主意,因为添加一个新的条目可能会改变顺序,以前的“第二”可能不再是未来的。
您可以做的最好的事情是为这些条目添加某种新的id,这样通过uri访问特定资源将始终返回该资源(或404等)。
https://stackoverflow.com/questions/50766137
复制相似问题