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

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

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

1.8K10

如何设计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

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

    资产瞎配模型(二):对瞎配(一)中净值计算错误的纠正

    上上周发的那篇资产瞎配模型,事实证明,果然是瞎配,有大佬指出组合净值计算有一定的问题,所以这里对净值计算部分及进行改正,重新计算结果。...接下来对各个模型的代码和结果进行修改,代码可以留意下,再看看图就行了,文字可以忽略了,基本没变化。...01 理论模型 资产配置是根据投资者的收益风险偏好及不同资产特性,将资金配置于多种资产类别的一种投资策略,目的在于分散风险,是对组合收益和组合风险的权衡。 首先给出一些符号定义 ? ?...04 等资金 有了之前的推导可以看出,等资金的推导逻辑是错误的,权重并非是份额的占比,而是价值的占比,所以等资金就是等权重,这个就略过了。...A股大概是怎么都不愿意配一点了,为了避免单个资产权重过高或者过低的问题,对资产权重加以限制。 09 Risk Parity + w<=40% 滚动 ? ? 递归 ? ?

    2K30

    API 返回 200,业务却失败了:AI 调用链里的静默错误与重复计费

    做 AI 调用链路监控时最容易忽略的一类问题:接口返回 200,客户端以为成功,业务实际上失败了。这类静默错误不只是体验问题——叠加重试机制后,它会直接变成账单上的真金白银。三类常见的静默错误1....内容安全层拦截后返回空结果。 请求通过网关、通过鉴权、模型也响应了,但输出在内容安全层被拦,返回了空字符串或占位内容,状态码仍是 200。客户端拿到的「成功响应」里没有任何可用的译文/生成结果。...静默错误怎么变成重复计费静默错误真正的杀伤力在重试链路。...业务请求生成唯一 ID,透传到网关和模型调用层;网关对同 ID 的重试返回缓存结果而不是重新计费调用。这一条能消掉 80% 的重复计费。失败分类要进账本。...对批量任务,先跑一遍轻量级预检(敏感词/格式校验),把大概率被拦的请求筛出去,比事后重试便宜得多。结语AI 调用链的可靠性监控不能只看状态码,要看「业务口径的成功率」。

    11010

    Sonnet 5.5升级后API返回400错误:思考模式、工具调用与历史消息适配指南

    示例是按文档整理的请求格式,不代表在真实API上复现了每种错误。401、429或供应商特有的404需要分别排查。...保持返回块原样,用文档规定的方法处理对话中途变更。如果确实要编辑历史,应按迁移指南处理受影响的块及beta控制。不要把“每次都删除全部思考块”当作通用修法,它会改变对话,也可能丢失有用上下文。...应记录具体错误或转换元数据,不要把所有问题统称为“invalidsignature”。较早场景可参考思考块签名排错指南。HTTP成功的响应也要检查有些回归不会返回HTTP错误。...应明确处理返回结果,不要反复提交相同的被拒绝任务。切换生产流量前的验证保留一组小型测试输入:纯文本、工具调用、多轮对话、编辑历史、流式更新和拒绝处理。...本文讨论原生API变化,第三方网关可能增加自己的适配层和错误。参考来源ofox文档:模型目录—https://docs.ofox.io/zh/develop/models

    15610

    APT分析报告:04.Kraken新型无文件APT攻击利用Windows错误报告服务逃避检测

    这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助。...这篇文章将介绍一种新型无文件APT攻击Kraken,它会利用Windows错误报告服务逃避检测。其中,DllMain函数反分析检查,以确保它不在分析/沙箱环境或调试器中运行非常值得我们学习。...Malwarebytes研究人员发现了一种名为Kraken的新攻击,该攻击利用Windows错误报告(WER)服务以逃避检测。...2020年9月17日,我们发现了一种名为Kraken的新攻击,该攻击将其有效载荷注入到Windows错误报告(Windows Error Reporting,WER)服务中,作为一种防御规避机制。...如果HTTPSendRequestExA的返回值为true,则表示请求成功,并且代码继续执行下一步。

    1.7K30

    我们为什么选 Rust 重写核心服务?

    一些 Kraken 工程师开始拿它做实验,并视其为构建可以长期满足 Kraken 后端需求的系统的一种选项:性能匹敌 C++、现代语言构造有助于准确地建模业务逻辑和错误用例、对异步编程有着一流支持、编译时线程安全...系统的运行速度取决于最慢的部分,虽然我们的 PHP 核心服务不是 Kraken 的唯一瓶颈,但它们的 IO 性能要比 Rust 的低一些,并且对负载更敏感。...理想情况下,每个易错函数将具有自己的错误枚举来精确捕获其错误并处理,但实际上它过于冗长,结果导致了不太精确的错误特征(trait)或每个模块使用一个枚举。...但它还是有一些改进余地: 与 Rust 的大多数部分不同,async 函数看起来有点像无害的常规函数,但它们可能不会完全执行(更确切地说,它们返回的 Future 可能不会被轮询完成)。...我们还在聘请测试工程师来帮助我们使用 Rust 和 Cucumber 测试 API。

    1.1K20

    我们为什么选 Rust 重写核心服务?

    一些 Kraken 工程师开始拿它做实验,并视其为构建可以长期满足 Kraken 后端需求的系统的一种选项:性能匹敌 C++、现代语言构造有助于准确地建模业务逻辑和错误用例、对异步编程有着一流支持、编译时线程安全...系统的运行速度取决于最慢的部分,虽然我们的 PHP 核心服务不是 Kraken 的唯一瓶颈,但它们的 IO 性能要比 Rust 的低一些,并且对负载更敏感。...理想情况下,每个易错函数将具有自己的错误枚举来精确捕获其错误并处理,但实际上它过于冗长,结果导致了不太精确的错误特征(trait)或每个模块使用一个枚举。...但它还是有一些改进余地: 与 Rust 的大多数部分不同,async 函数看起来有点像无害的常规函数,但它们可能不会完全执行(更确切地说,它们返回的 Future 可能不会被轮询完成)。...我们还在聘请测试工程师来帮助我们使用 Rust 和 Cucumber 测试 API。

    1K20

    全球IP归属地查询免费API详细指南

    概述接口盒子提供的全球IP归属地查询服务是一个功能强大、完全免费的API接口,支持IPv4和IPv6地址查询,能够返回详细的IP地理位置和运营商信息。该服务结合大数据多通道查询,具有高稳定性和准确性。...字符串是用户中心通讯秘钥ip字符串否欲查询的IP地址(IPv4/IPv6),不填则默认为请求接口IPtd整数否查询通道(0-2),0为综合通道(默认)返回参数说明成功查询将返回包含以下字段的JSON数据...=IPQuery(USER_ID,USER_KEY)#查询指定IPresult=ip_query.query("112.192.49.243")#查询本机IP#result=ip_query.query...)}")else:print(f"查询失败:{result.get('msg','未知错误')}")注意事项用户认证:必须使用自己的用户ID和KEY,避免使用示例中的公共测试凭证频率限制:虽然接口免费且无每日上限...,但存在每分钟调用频次限制准确性说明:不同查询通道的结果可能略有差异,建议根据实际需要选择合适的通道错误处理:在实际应用中应添加完善的错误处理机制生产环境:在生产环境中使用时应考虑添加重试机制和缓存策略应用场景该

    3K00

    技术专题:API资产识别大揭秘(一)

    这就导致当前大多数自动识别工具的结果将URL错误地识别为API。实际上URL是统一资源定位符,是对可以从互联网上得到资源的位置和访问方法的一种简单表示。用于访问特定的网页、图像或文件。...除此之外,流量还原API资产的优势还在于:API识别是持续进行的过程,一旦发现新API,应立即规范补充信息。通过流量还原,我们可以从各个维度监测API资产,并持续对其进行监测。...经过上述问题的解答,相信大家对API资产梳理也有所了解。接下来,我们将介绍API资产识别的关键技术,以便帮助大家理解如何从流量中准确识别API资产。...正确返回{ "data": { ... }}# 执行时发生错误{ "errors": [ ... ]}使用场景:比较复杂的数据查询和获取、需要从多个平台进行数据查询并集成、前后端分离模式下,需灵活开发...,也就是说,GraphQL API存在一个类似于JSON的特殊格式,且请求中的参数和返回结果一一对应。

    3.8K21

    重明链迹丨每周区块链安全要闻(0413-0419)

    黑客团伙ShinyHunters声称窃取其内部数据库、API密钥、GitHub令牌等核心数据,并标价200万美元出售,暗示可用于针对其庞大生态的全球供应链攻击。...Kraken遭遇内部人员窃取数据并试图勒索Kraken交易所披露,两名客服支持人员被犯罪团伙招募,非法访问了约2000个客户账户信息并录制内部面板视频,随后以此对Kraken进行勒索。...Kraken表示不会支付赎金。事件揭示内部威胁是中心化平台的重要风险点。...若通过,将为数字资产提供关键的监管清晰度。...此番言论抑制了市场对短期降息的乐观预期。美伊谈判曲折进行,地缘局势持续紧张美伊双方就停火及核问题展开谈判,美方考虑以解冻200亿美元伊朗资产换取其放弃浓缩铀库存。

    42610

    远程工具超时与重复回执:如何分清请求幂等和业务幂等

    先找“提交过”的证据,不只看错误文本以创建售后工单为例,业务系统已经写入工单,但响应在返回途中丢失。客户端只看到超时,再发一次可能创建第二张工单。另一个场景则是客户端校验失败,根本没有发出请求。...没有这种保证,状态继续保留为未知。...远程工具桥与恢复链客户端必须在执行业务函数之前,对“会话+callId”按自身故障模型做原子认领,并保存执行状态:已经执行中的请求不得因重放再次启动,已有结果则复用结果。...same-request表示按预算、retry-after与原截止时间决定是否重试同一请求、同一键;query-status表示查询原结果。未知或不适用的重试动作应停止自动重放。...分支还须检查原截止时间、最大次数和等待预算;query分支调用所属领域的查询操作。

    17520
    领券