首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL - REST -使用友好的ID存储和检索数据

SQL - REST -使用友好的ID存储和检索数据
EN

Stack Overflow用户
提问于 2018-06-09 01:58:41
回答 1查看 25关注 0票数 0

2018年9月6日更新

我的模型是这样的:

代码语言:javascript
复制
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的新资源,并且它有一个对象数组,假设(硬编码,不具有代表性):

代码语言:javascript
复制
{  
"name": "act1",  
"objects": [  
    { "obj1":"val1" },  
    { "obj2":"val2" }]  
}

我可以在我的数组中添加或删除对象。

现在,我的问题是,如果我想用这样的url访问它们:

代码语言:javascript
复制
 Api/activity/1/objects/2

告诉MySQL这个对象是列表中的第2个对象的正确方法是什么?

或者,我应该在后端选择Act1的所有对象,并对它们进行过滤,以便只检索第2个对象。

EN

回答 1

Stack Overflow用户

发布于 2018-06-10 06:32:50

REST服务中的资源必须具有稳定的urls,这一点非常重要。因此,为了弄清楚什么是“第二”,你真的需要思考一下,在榜单上排名第二意味着什么。

你是按什么点菜的吗?如果是这样的话,使用这种结构可能是一个坏主意,因为添加一个新的条目可能会改变顺序,以前的“第二”可能不再是未来的。

您可以做的最好的事情是为这些条目添加某种新的id,这样通过uri访问特定资源将始终返回该资源(或404等)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50766137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档