Rest 未预期路由调用顺序的HTTP状态

Rest 未预期路由调用顺序的HTTP状态,rest,http,Rest,Http,我目前正在实现一个小型的客户机-服务器应用程序,用户可以在其中加载不同的文件。我的应用程序要求按特定顺序加载文件。文件加载是通过界面按钮完成的,当单击该按钮时,会触发向特定路由上的服务器发送GET请求 当文件加载需要加载其他文件时,按钮将被禁用。我想如果某个路由在它所依赖的路由之前被调用,我仍然应该发送一条带有特定状态的错误消息。我曾想过使用403状态代码来表示禁止进入路线,但这只是暂时的,与拥有某些访问权无关。有更好的HTTP状态的想法吗?您可以使用412 超文本传输协议(HTTP)412前置

我目前正在实现一个小型的客户机-服务器应用程序,用户可以在其中加载不同的文件。我的应用程序要求按特定顺序加载文件。文件加载是通过界面按钮完成的,当单击该按钮时,会触发向特定路由上的服务器发送GET请求


当文件加载需要加载其他文件时,按钮将被禁用。我想如果某个路由在它所依赖的路由之前被调用,我仍然应该发送一条带有特定状态的错误消息。我曾想过使用403状态代码来表示禁止进入路线,但这只是暂时的,与拥有某些访问权无关。有更好的HTTP状态的想法吗?

您可以使用
412

超文本传输协议(HTTP)412前置条件客户端失败 错误响应代码表示对目标资源的访问已停止 他被拒绝了。这种情况发生在对其他方法的条件请求上 当条件定义为If时,如果未修改自 或者,如果未满足“无匹配头”。在这种情况下,请求, 通常,无法上传或修改资源 此错误响应将被发回

503服务不可用

由于发生错误,服务器当前无法处理该请求 服务器的临时过载或维护。这意味着 这是一种暂时的情况,经过一段时间后会得到缓解 耽搁


听起来你有:

  • 多种资源
  • 对某些资源的HTTP请求依赖于其他资源的状态
换句话说:如果资源A的状态不正确,则不允许向资源B发出HTTP请求


正确的HTTP状态代码是我通常使用的
409 Conflict

,可能是409 Conflict,不过在这种情况下,它与之前没有请求不兼容?否则,422个不可处理的实体。@jonrsharpe 409实际上不是关于多个请求,而是关于资源的状态。以前的请求会更改状态,从而使新请求成为可能,因此409在这里肯定有效。