2

对于 HTTP API 设计,我需要允许用户获取对资源的 HTTP DELETE 调用可能触发的更改列表。即,如果资源是一对多关系中的父级,我需要用子级列表回复。这背后的想法是客户可以在实际进行破坏性更改之前使用此信息来确认它们。

所以如果实际行动很简单 HTTP DELETE /resources/uuid

HTTP DELETE /resources/uuid?simulate=true 可以接受,在这种情况下,合适的 http 状态代码是什么?

我很想知道分两步删除这种情况的最佳方法是什么。

4

1 回答 1

6

我不认为这种方法有问题。您可以考虑的一件事是,当您有多个需要“模拟”的 API 时,可能值得考虑一种通用方法。

你可能有类似的东西

DELETE /dryRun/resources/uuid

或者

DELETE /resources/uuid/dryRun

将其作为路径参数而不是查询参数的优点是关注点分离。您将避免if-else使用这种方法在您的代码中。

于 2018-09-13T11:53:53.180 回答