REST 中一些操作(动词)的命名约定

Naming conventions for a few operations (verbs) in REST

我试图在设计 REST 时不使用动词 api 但努力将操作重新想象为资源(如在 REST 中)

这里有几个

/guest/accountnumber/isValid/{username} (returns a Boolean by checking if account number is valid)
/user/associateAccount/{firstAcc}/{secondAcc} (returns a Boolean. Links up the two passed in accounts)

我真的不想故意遵循错误的做法并扼杀 REST 的精神,但我正在努力重新将其视为资源状态传输而不是 fowl XML RPC 样式操作或远程方法调用.感谢您的帮助!

布尔值是否表示操作成功? HTTP 响应代码可用于此目的。

对于"associated accounts",将关联本身想象成一个对象。这些对象可以想象为在它们所引用的帐户下的'folder'中。

您可以 PUT /accounts/{firstAcc}/associations/{secondAcc} return HTTP 代码指示帐户是否已成功关联(比如 201 Created409 Conflict)。 DELETE /accounts/{firstAcc}/associations/{secondAcc} 可用于删除 link。

对于你的另一个例子,我不明白你到底想表达什么。是否只是检查帐户是否存在?为此,我会使用 HEAD /accounts/{number}。如果帐户有效,它将 return 200,否则将 404