Rest 拒绝不支持的API客户端时的HTTP状态代码

Rest 拒绝不支持的API客户端时的HTTP状态代码,rest,http,http-status-codes,Rest,Http,Http Status Codes,我们有一个移动应用程序,它在发送API请求时以HTTP头发送其版本 在后端,我们试图拒绝来自旧的不受支持的移动应用程序的请求 什么HTTP状态代码适用于这种情况 请注意,我们不要开始讨论API版本控制。426(需要升级)似乎是一个有效的候选者。还有:412(前置条件失败),417(期望失败)。完全取决于您在应用程序中如何解释它的意思是描述服务器试图理解并满足客户端相应请求的结果 但是,您不太可能为每种情况找到特定的状态代码。所以,假设是a,你可以选择: 400(错误请求)状态代码表示服务器无法

我们有一个移动应用程序,它在发送API请求时以HTTP头发送其版本


在后端,我们试图拒绝来自旧的不受支持的移动应用程序的请求

什么HTTP状态代码适用于这种情况

请注意,我们不要开始讨论API版本控制。

426
(需要升级)似乎是一个有效的候选者。还有:
412
(前置条件失败),
417
(期望失败)。完全取决于您在应用程序中如何解释它

的意思是描述服务器试图理解并满足客户端相应请求的结果

但是,您不太可能为每种情况找到特定的状态代码。所以,假设是a,你可以选择:

400
(错误请求)状态代码表示服务器无法或将不会处理请求,原因是被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息帧或欺骗性的请求路由)

而且,由于HTTP状态代码并不总是足以传递有关错误的足够信息以提供帮助,因此请确保在有效负载上返回有关错误的详细信息

您可以看一下,因为它定义了简单的JSON和XML文档格式,以通知客户端HTTP API中的问题。这是报告API中错误的一个很好的起点。它还定义了
application/problem+json
application/problem+xml
媒体类型。

403(禁止)状态代码表示服务器理解该请求,但拒绝对其进行授权。希望公开请求被禁止原因的服务器可以在响应负载(如果有)中描述该原因


“我们正在尝试拒绝来自旧的不受支持的移动应用程序的请求。”我强烈怀疑您试图解决错误的问题。