当前位置: 首页 > 知识库问答 >
问题:

"激活"的RESTful URL

贝德辉
2023-03-14

我有一个资源(项目),可以激活和停用它。
为此,什么是最RESTful的URLendpoint?

现在我正在考虑/projects/:id/activate/projects/:id/deactivate,但我认为这不是非常RESTful。
此外,我不确定使用什么HTTP方法。

你能提供一些指点吗?
谢谢!

共有3个答案

董霖
2023-03-14

我知道我有点晚了,但这可能对其他人有用。

您可以从操作中创建一个名词,并将其用作子资源:activate-

现在,您可以在此子资源上使用POSTDELETE

例如:

POST /projects/:id/activation       <-- activate project
DELETE /projects/:id/activation     <-- deleting the activation = deactivate

这种模式可以很好地用于在某个对象的开/关状态之间切换的操作。

邢骏
2023-03-14

您可以只将请求发送到projects/{id},并使用PATCH(当您更新现有对象时)动词,例如。

PATCH /projects/123

[
    { "op": "activate|deactivate", ... }
]

阅读更多:RESTAPI-使用实际示例与补丁进行比较

上官斌
2023-03-14

最传统的方法是通过POST到 /projects/: id,参数指示您是要激活还是停用或其他东西(总是为其他东西留出空间)。

请注意,RESTful URL应该引用对象(如项目),而不是操作。那么常用的方法就有了明确的含义:

  • PUT:创建或替换东西
  • 补丁:设置东西的属性
  • POST:对东西执行操作
  • GET:取回东西
  • 删除:删除的东西
 类似资料:
  • 当实例的试用期结束时,Navicat Monitor 需要令牌以继续监控该实例。令牌可以作为永久许可证或订阅购买。若要管理你的令牌并许可你的实例,请前往“配置”->“激活令牌密钥和许可实例”。 【注意】永久许可证和订阅方案不能在同一个 Navicat Monitor 上使用。在更改激活方法之前,你需要取消激活令牌密钥或退出你的 Navicat ID。 永久许可证 如果你购买了永久许可证,你将收到一

  • 我试图使我的wordpress网站翻译准备好,使用'poedit'。我激活翻译有问题。我想只翻译网站,而不是wordpress系统。我有我的. pot,. po和. mo文件在'语言'文件夹在我的主题目录,我有这个代码在我的functions.php文件: 那么,在poedit程序中保存并翻译所有内容后,如何在我的站点中激活它?我现在正在使用本地主机。

  • 行动时刻 - 激活NULL领域 请按照以下步骤激活NULL域: 编辑FreeRADIUS配置目录下的proxy.conf文件,并更改以下部分: #realm NULL { # authhost = radius.company.com:1600 # accthost = radius.company.com:1601 # secret = testing123 #} 更改为: realm NUL

  • 激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。 Sigmoid 也成为 S 形函数,取值范围为 (0,1)。Sigmoid 将一个实数映射到 (0,1) 的区间,可以用来做二分类。Sigmoid 在特征相差比较复杂或是相差不是特别大时效果比较好。 sigmoid 缺点: 激活函数计算量大(指数运算),反向传播求误差梯度时,求导

  • 问题内容: 因此,我不断在多个服务器上收到此烦人的错误(它是一个警告,因此我将忽略它,但我需要该功能) 警告:curl_setopt()[function.curl- setopt]:启用safe_mode或在第56行的/home/xxx/public_html/xxx.php中设置了open_basedir时,无法激活CURLOPT_FOLLOWLOCATION 我将如何通过SSH解决此问题?

  • 我想在 liberty 应用程序服务器上激活自定义消息侦听器。 这是我的代码: 这是服务器。xml: 以及我的激活规范: ra.xml: Liberty应用程序服务器在控制台上显示该日志: 出站资源适配器工作正常,但入站没有接收到任何消息!< br >在提出此问题之前,我阅读了此链接,但不明白如何解决此问题:< br >链接1 链接2 链接3 配置/代码的哪个部分有问题? 更新:< br >我将配