-1

Azure API 声称是 REST API。我在 REST 中的模式和示例实现和动词中发现了它,当在他们的(假定的)REST API 参考中检查它时,他们似乎发明了一个新动词CancelJob并通过 HTTP 改变内部状态GET

GET
https://media.windows.net/API/CancelJob?jobid='URL-encodedvalue'

这似乎与最佳实践相矛盾,是否应该使用 Jobs资源来实现,DELETE或者这样做是否正确?

DELETE
/API/Jobs?jobid='URL-encodedvalue'

甚至?

DELETE
/API/Jobs/jobid
4

1 回答 1

1

REST 已成为人们用于任何通过 HTTP 工作的 API 的流行词。这个 API 似乎是某些人所说的 REST 级别 1。级别 1 意味着您仅使用 HTTP 作为传输机制。它不尊重 HTTP 设计的任何 REST 约束。我认为将这些 API 称为 REST 根本不公平,但许多人仍然这样做,因为 REST 很流行,而且业务/营销人员可以说他们拥有 REST API。我怀疑这个 API 就是这种情况,因为这个 API 的架构师显然没有付出任何努力来遵循 REST 原则。

于 2015-06-05T23:01:06.597 回答