1

我在下面的控制器中执行附加和分离操作,例如将关系从 OU 分离到 ModuleDevice。

这些操作在 REST API 中意味着什么 http 动词?

ModuleDevicesToOUController

Api/ModuleDevicesToOU/1/OU/1 // Attach for ModuleDevice with Id 1 the OU with Id 1
PUT/Delete/Patch ??? Attach…

Api/ModuleDevicesToOU/1/OU/1// Detach for ModuleDevice with Id 1 the OU with Id 1
PUT/Delete/Patch ??? Detach…
4

2 回答 2

0

使用 LINK 方法怎么样?https://datatracker.ietf.org/doc/html/draft-snell-link-method-08

如果这对您来说有点实验性,那么只需使用 POST。

于 2014-02-05T12:11:49.597 回答
0

如果我正确理解了您的 API,则该调用正在更改服务器上的资源,这意味着您应该使用 POST:

根据 RFC 2616,POST 方法应该用于请求是非幂等的任何上下文:也就是说,每次执行它都会导致服务器状态发生变化,例如向博客文章提交评论或投票在线投票。在实践中,GET 通常被保留,不仅用于幂等操作,还用于无副作用的操作(与幂等操作的“对第二次或未来请求无副作用”相反)

http://en.wikipedia.org/wiki/POST_%28HTTP%29

http://en.wikipedia.org/wiki/Http

在我看来,这是 GET 和 POST 之间的区别非常重要的一点。POST 不仅允许您在正文中发送信息,还可以修改服务器的状态。在设计 REST 接口时,我始终牢记这一点。

我希望它有所帮助。

于 2014-02-05T12:17:23.807 回答