首页
学习
活动
专区
圈层
工具
发布

如何设计API返回码(错误码)?

—1— 前言 客户端请求API,通常需要通过返回码来判断API返回的结果是否符合预期,以及该如何处理返回的内容等。...API返回码的设计还是要认真对待,毕竟好的返回码设计可以降低沟通成本以及程序的维护成本。...—3— 参数约定 虽说是返回码设计,但是只有code是不行的,还要有对应的message,让人可以看懂。 参考HTTP状态码的思路,我们对错误码进行分段。...通过这样的设计,不论是程序还是人都可以非常方便的区分API的返回结果,关键是统一!...—4— 个性化Message 通常我们的Message都是写给工程师看的,但是在不同的场景下,同样的错误,可能需要给用户看到不一样的错误提示。

1.4K10

如何设计API返回码(错误码)?

一、前言 客户端请求API,通常需要通过返回码来判断API返回的结果是否符合预期,以及该如何处理返回的内容等 相信很多同学都吃过返回码定义混乱的亏,有的API用返回码是int类型,有的是string类型...,有的用0表示成功,又有的用1表示成功,还有用”true”表示成功,碰上这种事情,只能说:头疼 API返回码的设计还是要认真对待,毕竟好的返回码设计可以降低沟通成本以及程序的维护成本 二、HTTP状态码参考...,我们对错误码进行分段 返回码值 说明 0 成功 99999 系统发生未知异常 10000-19999 参数校验错误 20000-29999 A步骤执行失败 30000-39999 B步骤执行失败 通过这样的设计...,不论是程序还是人都可以非常方便的区分API的返回结果,关键是统一!...但是对于API来说,返回的信息又必须是准确的,但用户看到的就必须转译,这个转译的工作调用方可以做,但是通常API提供者来提供个性化的Message能力会更好 我们可以把转译的消息配置到数据库,并缓存到Redis

7.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Spring Cloud Gateway的断路器(CircuitBreaker)功能

    /1","status":503,"error":"Service Unavailable","message":"","requestId":"367651c5"} 分析上述输出的返回码: 504是超时返回的错误...,200是服务提供者的正常返回 504和200两种返回码都表示请求到达了服务提供者,所以此时断路器是关闭状态 多次504错误后,达到了配置的门限,触发断路器开启 连续出现的503就是断路器开启后的返回码...fallback 通过上述测试可见,Spring Cloud Gateway通过返回码来告知调用者错误信息,这种方式不够友好,我们可以自定义fallback,在返回错误时由它来构建返回信息 再开发一个...200,原来的错误现在全部变成了刚才新增的接口的返回内容: [2]200 - myfallback, 2021-08-28 11:15:02 [3]200 - Account2021-08-28 11:...就是下图红框中的那段,当时咱们用返回码来推测断路器处于什么状态: 相信您在看这段纯文字时,对欣宸的分析还是存在疑惑的,根据返回码就把断路器的状态确定了?例如504的时候到底是关闭还是半开呢?

    1.6K30

    Nginx code 状态码说明

    504 /500.html; location / { return 503; } location = /500.html { root /**...files,那就需要考虑做负载均衡,把流量分散到不同服务器上去 5)503 503是服务不可用的返回状态。...由于在nginx配置中,设置了limit_req的流量限制,导致许多请求返回503错误代码,在限流的条件下,为提高用户体验,希望返回正常Code 200,且返回操作频繁的信息: location /test...500:服务器遇到错误,无法完成请求。 502:服务器作为网关或代理,从上游服务器收到无效响应。 503 - 服务不可用 504:服务器作为网关或代理,但是没有及时从上游服务器收到请求。...例如,服务器无法识别请求方法时可能会返回此代码。 502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。 503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。

    5.3K80

    Nginx code 状态码说明

    504 /500.html; location / { return 503; } location = /500.html {...files,那就需要考虑做负载均衡,把流量分散到不同服务器上去 5)503 503是服务不可用的返回状态。...由于在nginx配置中,设置了limit_req的流量限制,导致许多请求返回503错误代码,在限流的条件下,为提高用户体验,希望返回正常Code 200,且返回操作频繁的信息: ...............500:服务器遇到错误,无法完成请求。502:服务器作为网关或代理,从上游服务器收到无效响应。503 - 服务不可用 504:服务器作为网关或代理,但是没有及时从上游服务器收到请求。...例如,服务器无法识别请求方法时可能会返回此代码。 502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。 503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。

    5.2K30

    HTTP状态码详解:从400到504的故障排查指南

    HTTP状态码详解:从400到504的故障排查指南 引言 在现代Web开发和API交互中,HTTP状态码是客户端和服务器之间沟通的重要桥梁。它们不仅告诉我们请求是否成功,还能快速定位问题所在。...本文将深入解析常见的HTTP状态码(400、404、406、499、500、502、503、504),分析其触发原因,并提供解决方案和代码示例,帮助你高效排查问题。 1....含义:服务器无法返回客户端要求的响应格式。...返回Retry-After头告知客户端重试时间: HTTP/1.1 503 Service Unavailable Retry-After: 3600 # 1小时后重试 3.4 504 Gateway...Accept头不支持 499 客户端关闭 客户端主动断开连接 Nginx日志常见 500 服务端错误 服务器内部错误 代码异常、数据库崩溃 502 服务端错误 网关收到无效响应 后端服务宕机 503

    1.9K10

    web开发常见问题解决方案大全:502503 Bad Gateway/Connection reset/504 timed out/400 Bad Request/401 Unauthorized

    web开发常见问题解决方案大全:502/503 Bad Gateway/Connection reset/504 timed out/400 Bad Request/401 Unauthorized/403...out 504 Gateway Timeout 400 Bad Request 401 Unauthorized 403 Forbidden 502 Bad Gateway/503 Service Unavailable...问题表现 代理或网关返回 HTTP 502 或 503,前端收到类似: HTTP/1.1 502 Bad Gateway HTTP/1.1 503 Service Unavailable 根本成因 隧道建立失败...排查与解决 确认请求格式 正确的 CONNECT 用法: CONNECT api.example.com:443 HTTP/1.1 Host: api.example.com:443 Proxy-Authorization...查看认证服务日志 检查认证服务器(如 Keycloak、Auth0)返回的错误详情。

    1.6K20

    聊聊nginx与tomcat的5xx

    序 本文主要讲述一下nginx与tomcat的502、504、503错误及其常见的产生原因。...注意:某些代理服务器在DNS查询超时时会返回400或者500错误 常见原因 该接口太耗时,后端服务接收到请求,开始执行,未能在设定时间返回数据给nginx 后端服务器整体负载太高,接受到请求之后,由于线程繁忙...,未能安排给请求的接口,导致未能在设定时间返回数据给nginx 实例 前端返回 504 Gateway Time-out <body...常见原因 nginx进行限流,超过限速则返回503 后端服务进行常规维护,比如pause tomcat nginx限流返回503实例 config http{ ## test 503 limit_conn_zone...通常是nginx限流或后端服务pause进行维护 doc Nginx状态码总结 nginx错误502,503,504分析 Nginx 502 503 错误触发条件与解决办法汇总

    2.9K10

    【Nginx】Nginx部署实战——静态文件+反向代理+均衡负载+Https+Websocket

    答案是肯定的,chocolatey, chocolatey chocolatey安装 Get-ExecutionPolicy #如果返回的是Restricted #就运行如下命令 Set-ExecutionPolicy...因为我们的应用是个单页客户端应用,如果后台没有正确的配置,当用户在浏览器直接访问就会返回 404,这就不好看了。...504 /50x.html; location = /50x.html { root html; } } } 这里的请求api接口...:82 weight=3; server 192.168.110.10:83 weight=2; } 如果您想测试每次是不是不同的地址,可以让nginx把每次请求转发到的地址返回给浏览器就再加上如下配置...host.access.log main; underscores_in_headers on; } 反向代理,操作超时 反向代理某接口,接口处理业务时间超过60秒,就会报time out的错误

    2.9K30

    Web开发避坑指南:默语为你详解502503504400401及Connection Reset(小白自救手册)

    502 Bad Gateway、503 Service Unavailable、504 Gateway Timeout、400 Bad Request、401 Unauthorized,还有那句令人闻风丧胆的...Web开发避坑指南:默语为你详解502/503/504/400/401及Connection Reset(小白自救手册) 引言: Web应用的世界就像一个庞大而精密的机器网络,浏览器(客户端)和服务器之间通过...二、503 Service Unavailable:服务暂不可用 2.1 它是什么? 503 Service Unavailable错误表示服务器当前无法处理请求。...504 Gateway Timeout错误表示作为网关或代理的服务器,在尝试从上游服务器获取响应时,没有在规定的时间内收到响应。...总结:从容面对Web世界的“小意外” 今天我们一起“会诊”了Web开发中几个最令人头疼的“常客”:502、503、“Connection reset”、504、400和401。

    2.2K00

    Nginx负载均衡和反向代理

    error:在与服务器建立连接,向其传递请求或读取响应标头时发生错误;     timeout:在与服务器建立连接,向其传递请求或读取响应头时发生超时     invalid_header:服务器返回空响应或无效响应...;     http_500:服务器返回了带有代码500的响应;     http_502:服务器返回具有代码502的响应;     HTTP_503:服务器返回具有代码503的响应;     http..._504:服务器返回具有代码504的响应;     http_403:服务器返回带有代码403的响应;     http_404:服务器返回具有代码404的响应;     off:禁用将请求传递到下一个服务器...示例: #当其中一台返回错误码404,500...等错误时,可以分配到下一台服务器程序继续处理,提高平台访问成功率,多可运用于前台程序负载,设置proxy_next_upstream...  proxy_next_upstream http_500 | http_502 | http_503 | http_504 |http_404; #proxy_next_upstream

    1K30

    Nginx+upstream针对后端服务器容错的运维笔记

    ,nginx记录错误数量只记录timeout 、connect refuse、502、500、503、504这6种状态,timeout和connect refuse是永远被记录错误状态,而502、500...http_503   表示后端服务器返回的响应状态码为503 http_504   表示后端服务器返回的响应状态码为504 http_404   表示后端服务器返回的响应状态码为404 off   ...表示停止将请求发送给下一台后端服务器 运用场景 1)proxy_next_upstream http_500 | http_502 | http_503 | http_504 |http_404; 当其中一台返回错误码...http_503    服务器返回503代码。 http_504    服务器返回504代码。 http_404    服务器返回404代码。 off    禁止转发请求到下一台服务器。...其中记录到nginx后端错误数量的有500、502、503、504、timeout,404不记录错误。

    9.2K90
    领券