以 RESTful 方式重新排序项目

2024-06-27

我有一个包含以下数据的表:

id position name
== ======== =========
1     4      Fred
2     2      Wilma
3     1      Pebbles
4     5      Barney
5     3      Betty

这是一个用户可以重新排列的列表(因此是位置列)。我的问题是,我怎样才能以一种平静的方式做到这一点。例如,如果我想将 Fred 移动到位置 2,我将如何发送请求?

目前,我有这样的事情:

PUT /user/1/reorder/2

这会将当前位于位置 4 的用户 1 (Fred) 移动到位置 2。SQL 代码还将运行一个查询,该查询将更改其他用户的位置以适应 Fred 的新位置。

执行此操作的正确 RESTful 方法是什么?


为了有效地做到这一点,请使用哈希表,并且永远不要重新排序所有内容,只需通过更改索引键将它们放在中间即可。我是什么意思?

Lets say

1 a
2 b
3 c
4 d
5 e

PUT /user/1/reorder/2

在里面我会这样做,该位置也源自索引中的位置

1  2   b
2  2.5 a
3  3   c
4  4   d
5  5 e

正如 Kajow 所指出的,这种方法有两个问题:

  • 多次重新排序后,浮点数可能不够用

  • 浮点数精度

解决它们:

  • 我们不使用浮点数,而是使用大数字 100000,200000,300000 等,并重新排序,200000,250000,30000 等。

  • x 次重新订购后,我们重置为 100000,200000,300000,400000。可能有一种方法只对每个 x 个部门的小部件进行重新排序,以保持此过程简单、小且零星

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以 RESTful 方式重新排序项目 的相关文章

  • RESTful API,如果查询字符串不够长怎么办?

    我们有产品资源集合 products 我们希望过滤此集合以仅返回具有特定列表之一的成员class id的 例如 GET products classes 100 101 102 这应该返回具有列出的任何类的产品成员的集合 我们遇到的问题是
  • Django REST Framework:无法使用视图名称解析超链接关系的 URL

    我已经广泛研究了这个相当常见的问题 但没有一个修复对我有用 我正在 REST 框架中构建 Django 项目 并希望使用超链接关系 用户可以拥有许多独立的汽车和路线 路线是位置的集合 这些是我的序列化器 class CarSerialize
  • Spring Boot 应用程序中的 Vaadin 23 Rest-API 和 UI

    我使用 Vaadin 23 3 5 开发了一个小型应用程序 到目前为止 我仅将 Spring Boot Security 与默认的 LoginView 结合使用来进行身份验证 然后使用 MainLayout 来浏览我的应用程序 但现在我需要
  • 如何从 Android 调用 RESTful 方法?

    我尝试了两种不同的方法来从 Android 调用简单的 REST 方法 所述 REST 方法 适用于其他客户端 仅返回一个 int val 例如 17 以下两次尝试都是基于我在网上找到的代码 有一种是这样的 公共无效onFetchBtnCl
  • 在 Postman 中连接 ECONNREFUSED

    我试图通过邮递员测试我的 REST API 但收到以下错误 这是我编写的第一个 REST API 我对邮差很陌生 所以不确定我做错了什么 下面是我尝试使用此 URL 在邮递员中调用的代码 我在 URL 中传递两个日期参数 https loc
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • Android REST API 连接

    我有点傻 对此感到抱歉 我编写了一个 API 它返回一些 JSON 我的目标是从 Android 应用程序使用此 API 我已经尝试过使用 AsyncTask 但失败了 我想像这样使用它 调用该类 告知 URL 和结果的类型 哪个json
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web
  • 使用Retrofit来消费服务器发送的事件

    我正在尝试使用rest api 1 https mesosphere github io marathon docs rest api html get v2 events将服务器发送的事件发送到客户端 我目前正在使用 square 的改造
  • Spring Rest-API - 403 禁止错误响应

    我是 Spring 新手 我正在编写 REST API 我收到 403 删除 放置禁止错误 以下是我正在处理的示例 RequestMapping value noteId method RequestMethod PUT public Re
  • 使用 CouchDB 提供 HTML 服务

    我正在尝试将 CouchDB 与 HTML 独立 REST 架构一起使用 也就是说 除了 CouchDB 和 ajax 风格的 javascript 调用 CouchDB 之外 没有其他应用程序服务器 看起来交叉脚本是一个问题 我之前使用过
  • 在 PHP 中处理 PUT/DELETE 参数

    我正在做我的CodeIgniter 的 REST 客户端库 http github com philsturgeon codeigniter restclient我正在努力弄清楚如何在 PHP 中发送 PUT 和 DELETE 参数 在一些
  • Microsoft Graph API 日历 API 空 SeriesMasterId

    解决方案如下 我的朋友们 这是一个漂亮的 msft 图形 api 调用 可以通过非空 SeriesMasterId 过滤前 50 个日历结果 另请记住 如果未定义此前 50 个过滤器 则返回的 json 仅显示前 10 个结果从您的日历中匹
  • 计算 REST API 的 ETag

    我们正在构建我们使用的 REST APIETag https en wikipedia org wiki HTTP ETag有两种用途 通过允许客户端避免重新加载资源来节省带宽 对我们来说并不重要 解决并发问题 丢失更新问题 从实际角度来看
  • 如何在 Spring 中的 Rest 模板标头中设置 NTLM 身份验证

    我想使用 Rest 模板对 NTLM 进行身份验证 有人可以建议一种方法吗 如果有人再次偶然发现此条目 这是内置解决方案 确保您的项目包括org apache httpcomponents httpclient 然后您可以使用以下代码片段构
  • 在 REST Web 服务中接受逗号分隔值

    我正在尝试接收 REST URI 中以逗号分隔值形式的字符串列表 示例 http localhost 8080 com vogella jersey first rest todo test 1 abc test 其中 abc 和 test
  • WCF 数据服务 (OData) 与 ASP.NET Web API

    我正在设计一个分布式应用程序 其中包含 RESTful 服务和各种客户端 Silverlight iOS Windows Phone 7 等 现在 我正在确定应该使用哪种技术来实现我的服务 WCF 数据服务 OData 或随 ASP NET
  • 对 Bitstamp 进行身份验证的 Java Jersey REST 调用

    我正在尝试对 Bitstamp 进行私人 REST 调用 请参阅https www bitstamp net api https www bitstamp net api 但是 我收到以下回复 错误 缺少密钥 签名和随机数参数 他们在 AP
  • 为什么要为 RESTful API 创建单独的应用程序?

    Yii 2 的指南中说 虽然不是必需的 但建议您开发 RESTful API 作为一个单独的应用程序 与您的 Web 前端不同 后端更方便维护 Source RESTful Web 服务 快速入门 http www yiiframework
  • 创建 RESTful WebService 并通过 Glassfish 4 提供服务

    我在 JEE6 中看到了很多关于 RESTful WebServices 的问题 所以我想与您分享这个示例解决方案 它展示了实现 RESTful Webservice 是多么容易 首先创建一个新的动态 Web 项目并将 Glassfish

随机推荐

  • 哈米尔评论结束

    我是哈米尔新手 这让我很困惑 我不喜欢删除可以注释掉的代码 但我不知道如何在 haml 中正确结束注释 这是一个代码片段 field f label member id br f text field member id field f l
  • 如何在Java中打印保留2位小数的浮点数?

    我可以用System out print 您可以使用printf http java sun com j2se 1 5 0 docs api java io PrintStream html printf 28java lang Strin
  • 检测设备方向

    我需要检测 Android 设备方向变化 而无需手动处理传感器数据 同时保持活动方向坚持某个方向 onConfigurationChange不会起作用 因为会让我的活动不旋转 通过使用传感器数据来检测方向变化 我认为这是轮子的发明 因为 A
  • 如何在bot框架v4中形成英雄卡轮播

    这是我的下面的数据 我需要解析它并将其显示在卡片轮播中 在 bot Framework v3 中我可以轻松做到这一点 然而在 v4 中我很挣扎 DATA number INC0010798 short description laptop
  • org.apache.commons.codec.digest.Md5Crypt.md5Crypt 函数。 linux下出现异常,windows下正常

    我们正在使用commons codec加密密码 使用org apache commons codec digest Md5Crypt md5Crypt功能 在Windows环境下工作正常 但在CentOS上却抛出异常 我们有3台centOS
  • 将内置类型转换为向量

    我的 TcpClient 类接受vector
  • 如何在Python中求和

    我想知道如何在 python 中表示总和而不需要像这样的循环here http docs scipy org doc scipy reference tutorial optimize html 我们有 def rosen x The Ro
  • 在新的浏览器进程中打开 URL

    我需要在新的浏览器进程中打开 URL 当浏览器进程退出时我需要收到通知 我当前使用的代码如下 Process browser new Process browser EnableRaisingEvents true browser Star
  • 在 ExecuteSQL 处理器的连接池服务中使用动态属性

    我正在使用 ExecuteSQL 从一个或多个数据库获取表 但我想向 dbcpconnectionPool 服务动态提供 URL 用户名和密码 这样我就不需要多个 ExecuteSQL 处理器从不同的数据库检索数据 发现控制器服务不接受来自
  • Flask 中的 import 和 extends 有什么区别?

    我正在阅读 Flask Web 开发 在例4 3中 extends base html import bootstrap wtf html as wtf 我想知道 extends 和 import 有什么区别 我认为它们在用法上很相似 在什
  • Laravel Eloquent:提取以提供的字符串列表开头的所有条目

    以下请求从用户表中提取 name Albert 或 name Alberto 或 name Ana 的所有条目 users DB table users gt whereIn name Albert Alberto Ana gt get 是
  • 如何使用 jQuery 通过单击按钮来选择下拉列表中的所有值?

    如何通过在 JavaScript 中使用 jQuery 单击按钮来选择下拉列表中的所有值 function select children option attr selected selected 应该做 当然你需要一个SELECT具有属
  • Spring Data JPA 中的审计和 @Embedded

    我在 JPA 审计方面遇到问题 Embedded成员 考虑以下示例场景 我在 Oracle DB 中设置了一个测试表 CREATE TABLE AUDIT TEST ID NUMBER 38 NOT NULL PRIMARY KEY CRE
  • 如何在 PowerShell 中将 5.7303333333e+02 等字符串转换为十进制?

    我正在尝试转换字符串 例如5 7303333333e 02 to the decimal类型 我尝试过使用 decimal TryParse但返回值是假的 有没有类似的方法 datetime parseexact 或任何干净的方法来转换这些
  • 如何使链接悬停时的背景图像模糊?

    当您用鼠标光标悬停链接时 我想让我的背景图像模糊 5 像素 有什么简单的方法可以实现这一点吗 我有点纠结于类和 id 在这里 pic background url http www metalinjection net wp content
  • 处理核心数据中的重复条目

    我有一个允许用户保存收藏夹的应用程序 我正在使用 Core Data 将收藏夹存储为托管对象 我已经编写了一些代码来防止存储重复项的可能性 但我想知道是否有更好的方法来做到这一点 每个收藏夹对象都有一个唯一的 ID 字段 在下面的代码中 我
  • 多点触摸检测和区分 - Cocos2d for iPhone

    我想知道如何在多点触摸视图中检测和区分触摸 我读过有关 哈希 代码的内容 但我不明白如何使用它 我想知道我的两个精灵何时被同时触摸 就像在钢琴的两个琴键上按下和弦一样 编辑 以下是我的 TouchesBegan 的示例 void ccTou
  • 互斥体实现可以互换(独立于线程实现)

    所有互斥体实现最终都会调用相同的基本系统 硬件调用吗 这意味着它们可以互换吗 具体来说 如果我使用 gnu parallel算法 使用openmp 并且我想让他们称之为线程安全的类我可以使用boost mutex用于锁定 或者我必须编写自己
  • ( 后的正则表达式匹配数

    我正在尝试使用正则表达式来匹配开括号 字符后的可变长度的数字 我努力了 d 但该正则表达式在匹配中包含括号 我该如何排除它 我正在使用 Sublime Text 正则表达式引擎来进行匹配 您可以使用积极的后视 http www regula
  • 以 RESTful 方式重新排序项目

    我有一个包含以下数据的表 id position name 1 4 Fred 2 2 Wilma 3 1 Pebbles 4 5 Barney 5 3 Betty 这是一个用户可以重新排列的列表 因此是位置列 我的问题是 我怎样才能以一种平