我们正在尝试构建一个允许用户测试特定资源是否存在的 REST 接口。假设我们正在销售域名:用户需要确定域名是否可用。
乍一看,HTTP 与响应代码相结合似乎是明智的GET
。200
404
我们遇到的问题是区分我们的查找服务成功服务的请求和其他组件在异常行为下服务的请求。例如:
404
并且200
可以由实际阻止请求的中间代理返回。这可能是由于代理配置错误,甚至是咖啡店 Wifi 等外部基础设施使用了糟糕的基于表单的身份验证。客户端可能正在使用损坏的 URL。这可能通过弃用或(再次)通过错误配置而发生。但是,我们可以通过 对抗前者
301
。
区分已成功满足客户对该请求的意图的响应和通过异常行为提供的响应的当前最佳实践是什么?
通过响应主体隧道响应可以消除该问题,因为我们可以确保这些对于我们的服务是唯一的。但是,似乎不是很 RESTful!