- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在实现一个 RESTful API,我不确定是否存在无法更改的数据的“社区接受”行为。例如,在我的 API 中有一个"file"资源,该资源在创建时包含许多在创建后无法修改的字段,例如文件的二进制数据,以及与之关联的一些元数据。此外,"file"可以具有书面描述和关联的标签。
我的问题涉及对这些"file"资源之一进行更新。特定"file"的 GET 将返回与文件关联的所有元数据、描述和标签,以及文件的二进制数据。特定"file"资源的 PUT 是否应该包含“只读”字段?我意识到它可以采用任何一种方式编码:a)在 PUT 数据中包含只读字段,然后验证它们与原始字段匹配(或发出错误),或 b)忽略 PUT 数据中只读字段的存在因为它们无法更改,如果它们不匹配或丢失,则永远不会发出错误,因为逻辑会忽略它们。
似乎它可以采取任何一种方式并且可以接受。忽略只读字段的第二种方法可以更紧凑,因为 API 客户端可以根据需要跳过发送只读数据;这对于知道自己在做什么的人来说似乎很好......
最佳答案
就个人而言,这两种方式都是可以接受的......但是,如果我是你,我会选择选项 A(检查只读字段以确保它们没有被更改,否则会引发错误)。根据您的项目范围,您不能假设消费者深入了解您的 Restful WS,因为他们中的大多数人不阅读文档或 WADL,即使他们是有经验的人。 :)
如果您不立即向消费者提供某些字段是只读的反馈,他们会错误地假设您的 Web 服务会在不仔细检查的情况下处理他们所做的所有更改,或 一旦他们发现“不一致”的更新,他们就会向其他人提示您的 Web 服务有问题。
如果只读字段与原始值不匹配,您可以通过两种不同的方式处理此问题...
关于RESTful API 设计 : should unchangable data in an update (PUT) be optional?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4939985/
我试图告诉 Git 忽略我对属性文件所做的更改,这样我就不会不小心将它提交到我的 git 存储库。我正在使用: git update-index assume-unchanged [文件] 给出输出:
对于我正在开发的项目,我想使用: git add . -A 向舞台添加一些文件。问题是 Git 认为这些文件自上次提交以来没有变化,因此它们被忽略。然而,我亲自更改了该文件,但 Git 仍然认为该文件
我正在开发一个 git 代码库。我想更改服务器跟踪的项目 xml 文件。我想以这样的方式进行设置: 我的本地更改应该被忽略并且永远不会发送到服务器。 服务器应该同步覆盖我的本地更改。 目前我在用 gi
我想共享当前状态下的某个文件,但我不想提交进一步的更改。所以我对那个文件做了“假设不变”。现在,git 忽略了我存储库中这个文件的更改。但是存储库的其他用户呢——他们是否必须在他们自己的存储库中为这个
我只想拥有一个固定大小的 JPanel,它会锁定其大小(用户不能更改大小)。我应该怎么做? 最佳答案 JPanel 不能由用户调整大小。 如果您指的是 JFrame,您可以使用 setResizabl
是否可以向更新查询添加“未更改”参数。 在一些旧代码中我有类似的东西: string query = @"Update Table SET Field1=@var1, Field2=@var2, Fi
当通过 d3.js 传递数据时,该库将数据分为进入/更新/退出组件,但我发现我们在更新部分浪费了大量计算,用于重新计算未更改的值并将属性重新设置为已经存在的相同值。 有什么好的方法可以将“更新”集合进
我不知道我是否遗漏了什么......无论如何: 例如,您可以看到属性为“HomeTeam”=“Forest Green Rovers”的对象的状态为“Unchanged”。无论如何,就我而言,所有实体
我将什么标记为 --assume-unchanged?有什么方法可以找出我使用该选项 stash 的内容吗? 我翻遍了 .git/ 目录,没有看到任何看起来像我期望的东西,但它一定在某个地方。我忘记了
我需要 assume-unchanged 标志来避免错误提交我的项目设置文件。我这样做是通过: git update-index --assume-unchanged 还有一种方法可以使用 --no
我在 development 分支中进行开发,然后在创建发布标签之前合并到 trunk 中。我一直发现一个文件在合并后提交时不断显示为已更改。它没有改变。我发布这个是希望其他人遇到过这个问题并且知道发
我要这个: def compare_list(old, new): new_set = set(new) old_set = set(old) return new_set -
我正在尝试在 Linux TFVC 管道中运行“撤消未更改”命令。 这些命令从 bash 脚本运行: tf workspaces -login:${credentials} -collection:$
下面的(简化的)模板呈现一个带有两个输入字段的表单,根据数据上下文预先填充。可以为多个不同的数据上下文打开该表单(尽管一次只能打开一个),在这种情况下,我希望使用新数据重新呈现所有字段 - 这大多数都
// Rollback changes switch (entry.State) { case EntityState.Added: entry.State = EntityS
我是 JQuery 的新手,对此有疑问 $("#trigger").click( function(){ $("#pnel-menu").toggle("slow");
我有一个简单的雪花模式,我从中生成了我的 Entity Framework 模型。 问题是我试图将一个子实体映射到一个现有的父和/或祖 parent 实体,但它仍然插入它。 我关注了这个: Inser
This answer向您展示如何将由 git 管理的文件标记为“我不想从该文件的存储库中进行更改”- IE 拥有该文件的您自己的本地未跟踪版本,即使它仍处于 git 的修订控制之下 Remote 。
我在一个构建网络应用程序的项目中。我们使用 Git 进行版本控制,使用 Gulp 进行任务自动化。我想暂时忽略文件到某个文件夹,build文件夹。我们倾向于在一天结束时(或编码 session 结束时
我的存储库中有一个目录结构: |-repository/ | | |-repository/fileOne | | | |-subOne/ | | |-subOne/fileTwo |
我是一名优秀的程序员,十分优秀!