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

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

—1— 前言 客户端请求API,通常需要通过返回码来判断API返回的结果是否符合预期,以及该如何处理返回的内容等。...相信很多同学都吃过返回码定义混乱的亏,有的API用返回码是int类型,有的是string类型,有的用0表示成功,又有的用1表示成功,还有用“true”表示成功,碰上这种事情,只能说:头疼。...API返回码的设计还是要认真对待,毕竟好的返回码设计可以降低沟通成本以及程序的维护成本。...通过这样的设计,不论是程序还是人都可以非常方便的区分API的返回结果,关键是统一!...但是对于API来说,返回的信息又必须是准确的,但用户看到的就必须转译,这个转译的工作调用方可以做,但是通常API提供者来提供个性化的Message能力会更好。

1.4K10

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

一、前言 客户端请求API,通常需要通过返回码来判断API返回的结果是否符合预期,以及该如何处理返回的内容等 相信很多同学都吃过返回码定义混乱的亏,有的API用返回码是int类型,有的是string类型...,有的用0表示成功,又有的用1表示成功,还有用”true”表示成功,碰上这种事情,只能说:头疼 API返回码的设计还是要认真对待,毕竟好的返回码设计可以降低沟通成本以及程序的维护成本 二、HTTP状态码参考...,不论是程序还是人都可以非常方便的区分API的返回结果,关键是统一!...但是对于API来说,返回的信息又必须是准确的,但用户看到的就必须转译,这个转译的工作调用方可以做,但是通常API提供者来提供个性化的Message能力会更好 我们可以把转译的消息配置到数据库,并缓存到Redis...我们可以根据单位时间内99999的数量来做API的异常告警 我们可以根据Code的返回饼图,帮助我们发现系统、业务流程中的问题 等等 ---- 总之,好的返回码设计,可以帮助我们提高沟通效率,降低代码的维护成本

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

    如何设计 API 接口,实现统一格式返回?

    文章目录: 前后端接口交互 接口返回值约定 返回值规范 正确返回 错误返回 统一定义错误码 错误码规范 Controller 层如何用?...Controller 层如何用?.../api/code/code.go Controller https://github.com/xinliangnote/go-gin-api/blob/master/internal/api/controller...问题思考 1、提供对外接口时,如何进行安全的签名验证? 2、接口的幂等性如何设计? 3、如何统一对返回数据进行敏感数据脱敏? 4、如何设计接口日志,便于接口联调时快速进行错误定位?...5、关于接口文档,如何进行自动生成?听说过 swagger 还不知道如何使用? 如果你对以上问题有疑惑或拿捏不准,快来我的星球交流讨论吧。

    1.7K10

    如何设计API接口,实现统一格式返回?

    因为老顾这篇主要介绍的是API接口,所以我们聚焦点,其他的模块小伙伴们自行去补充。...针对URL路径的restful风格,以及传入参数的公共请求头的要求(如:app_version,api_version,device等),老顾这里就不介绍了,小伙伴们可以自行去了解,也比较简单。...老顾注重介绍一下后端服务器如何实现把数据返回给前端?...返回格式 后端返回给前端我们一般用JSON体方式,定义如下: {#返回状态码code:integer,#返回信息描述message:string,#返回值data:object} CODE状态码 code...Message 这个字段相对理解比较简单,就是发生错误时,如何友好的进行提示。一般的设计是和code状态码一起设计,如 ? 再在枚举中定义,状态码 ? 状态码和信息就会一一对应,比较好维护。

    2.5K80

    如何设计 API 接口,实现统一格式返回?

    因为这篇主要介绍的是API接口,所以我们聚焦点,其他的模块小伙伴们自行去补充。...针对URL路径的restful风格,以及传入参数的公共请求头的要求(如:app_version,api_version,device等),这里就不介绍了,小伙伴们可以自行去了解,也比较简单。...后端服务器如何实现把数据返回给前端?...返回格式 后端返回给前端我们一般用JSON体方式,定义如下: { #返回状态码 code:integer, #返回信息描述 message:string, #返回值 data:object...Message 这个字段相对理解比较简单,就是发生错误时,如何友好的进行提示。一般的设计是和code状态码一起设计,如 ? 再在枚举中定义,状态码 ? 状态码和信息就会一一对应,比较好维护。

    1.9K40

    如何设计API接口,实现统一格式返回?

    因为老顾这篇主要介绍的是API接口,所以我们聚焦点,其他的模块小伙伴们自行去补充。...针对URL路径的restful风格,以及传入参数的公共请求头的要求(如:app_version,api_version,device等),老顾这里就不介绍了,小伙伴们可以自行去了解,也比较简单。...老顾注重介绍一下后端服务器如何实现把数据返回给前端?...返回格式 后端返回给前端我们一般用JSON体方式,定义如下: { #返回状态码 code:integer, #返回信息描述 message:string, #返回值 data:object...Message 这个字段相对理解比较简单,就是发生错误时,如何友好的进行提示。一般的设计是和code状态码一起设计,如 ? 再在枚举中定义,状态码 ? 状态码和信息就会一一对应,比较好维护。

    73610

    如何设计 API 接口,实现统一格式返回?

    因为老顾这篇主要介绍的是API接口,所以我们聚焦点,其他的模块小伙伴们自行去补充。...针对URL路径的restful风格,以及传入参数的公共请求头的要求(如:app_version,api_version,device等),老顾这里就不介绍了,小伙伴们可以自行去了解,也比较简单。...后端服务器如何实现把数据返回给前端?...返回格式 后端返回给前端我们一般用JSON体方式,定义如下: { #返回状态码 code:integer, #返回信息描述 message:string, #返回值 data:object...Message 这个字段相对理解比较简单,就是发生错误时,如何友好的进行提示。一般的设计是和code状态码一起设计,如 ? 再在枚举中定义,状态码 ? 状态码和信息就会一一对应,比较好维护。

    57330

    Python| 如何使用 DALL·E 和 OpenAI API 生成图像(2)

    图像文件 将图像数据保存到文件 虽然利用 Python、DALL·E 和 OpenAI API 从文本生成图像非常酷,但目前得到的响应是临时的。...提供了一个选项,允许你将响应格式从 URL 改为 Base64 编码的图像数据。...尽管你修改后的 JSON 响应在外观上与之前类似,但获取图像数据的键值已经从 "url" 变为了 "b64_json"。...这很棒,因为它意味着你的图像不会在互联网上消失,这与你持续通过 API 调用生成 URL 的情况不同。 然而,现在你无法查看你的图像——除非你学会如何解码这些数据。...在本教程中,你已经学会了: 如何在本地安装配置 OpenAI Python 库 如何利用 OpenAI API 的图像生成功能 如何使用 Python 根据文本提示生成图像 如何制作生成图像的变体 如何将

    1.8K10

    Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)

    在本节中,你将快速了解如何开始在你的代码中利用 DALL·E 来创建图像。 安装 OpenAI Python 库 请确保你的 Python 版本至少是 3.7.1,并创建一个虚拟环境来隔离项目依赖。...在本教程中,您将重点关注图像生成,它使您可以与 DALL·E 模型交互,根据文本提示创建和编辑图像。 获取您的 OpenAI API 密钥 您需要 API 密钥才能成功进行 API 调用。...选择您的操作系统以了解如何: (venv) $ export OPENAI_API_KEY="" 通过执行这条指令,你可以在当前的终端会话中设置一个名为 OPENAI_API_KEY...既然你已经验证了所有设置都正确无误,并且对使用 OpenAI API 生成图像的功能有了初步了解,接下来你将学习如何将其整合到 Python 脚本中。...这个实例已经包含了身份验证信息,因为你已经将环境变量命名为 OPENAI_API_KEY。如果你遵循了这个命名规则,它会自动从你的环境变量中获取 API 密钥值。

    1.3K10

    如何从失焦的图像中恢复景深并将图像变清晰?

    是的,我们今天就来看看另外一种图像模糊——即失焦导致的图像模糊——应该怎么样处理。 我今天将要介绍的技术,不仅能够从单张图像中同时获取到全焦图像(全焦图像的定义请参考33....此时,聪明的你一定想到如何获取全焦图像了,我猜你是这样想的: 先提前标定好各个失焦距离的PSF 对输入的模糊图像每一个点,用这些不同的PSF分别做去卷积操作,根据输出的图像的清晰程度,判断哪个是这个点对应的正确尺寸的...那么,如何解决上面这两个问题呢?我们现在才进入今天文章的核心?...2.3 完整的过程 有了前面所讲的两点作为基础,作者就进一步解释了如何来获取全焦图像。 提前标定好不同尺度的编码光圈卷积核 ? 对每个像素i,选择一个局部窗口 ? ,对应的图像为 ?...因此,不管是从肉眼上观察,还是通过振铃效应导致的过大的卷积误差,我们都很容易判断哪个是正确尺度的卷积核。

    4.6K30

    从文本到图像:AIGC 如何改变内容生产的未来

    从文本到图像:AIGC 如何改变内容生产的未来 在过去的几年里,人工智能生成内容(AIGC)技术迅速崛起,从基础的文本生成到更复杂的图像、音频甚至视频生成。...尤其是在“从文本到图像”的应用上,AIGC 展现了前所未有的潜力,重新定义了我们对内容创作和传播的理解。...在这篇文章中,我们将探索AIGC是如何将文字转化为生动的图像,以及这种技术如何改变内容生产的未来。...但随着技术的进步,AIGC逐渐进入了图像、音频、视频生成等领域。尤其是近年来图像生成技术的突破,让AIGC成为了视觉内容生产的新利器,实现了从文本描述到图像生成的跨越。...这种从文本到图像的技术,不仅提升了内容生成的速度,也大幅降低了生成高质量视觉内容的门槛。

    2K10

    如何打开dat文件之从mrxs图像到细胞识别

    ,通常导出的原始图像格式为: .mrxs 文件格式(主要格式) .mrxs 是 3DHISTECH 的专有图像格式,用于存储高分辨率的全玻片图像(Whole Slide Images, WSI)。...它实际是一个容器文件,包含图像数据索引、缩略图、元数据等。 通常会伴随一个同名的文件夹(例如:slide.mrxs + slide/),这个文件夹中包含了实际的图像切片数据(如 .dat 文件)。...如何开始分析? ImageJ/FIJI 可以用ImageJ/FIJI直接衔接从CaseViewer导出的tif文件吗? 当然没问题!...使用纹理、形状、颜色等特征) 应用分类器到整张图上,自动识别区域类别 QuPath 从 CaseViewer 导出 TIFF 图像(推荐格式为 .tiff 或 .jpeg),确保分辨率充足,细胞核与胞质结构清晰...) 设置图像类型(重要!)

    2.8K10

    从图像到数据:印章识别技术如何重塑合同管理效率

    剥离防伪鉴定的复杂外衣,聚焦于将印章图像精准转化为结构化文本——印章识别,这一看似基础的技术,正成为撬动合同管理效率与数据价值的关键支点。为何“识别文字内容”如此重要?...印章识别技术实现:从图像到结构化文本专注于文字内容识别的技术流程相对直接,但要求极高的准确率:印章定位:首先,利用目标检测技术,在复杂的合同版面上找到印章所在的位置。...应用:系统从已签署的合同文件中,不仅识别甲方、乙方的公司名称(印刷体),也通过印章文字识别进行交叉验证,并自动将准确的签约方名称填充到合同管理系统的数据库中。...印章识别技术的优势与价值提升效率,降低成本:将人力从繁重的肉眼查找和手动录入工作中解放出来。减少人为错误:避免了因疲劳和疏忽导致的登记信息错误。...挖掘数据价值:将非结构化的印章图像转化为可被计算机处理和分析的结构化数据,为大数据分析提供燃料。

    20010

    测试开发:从0到1学习如何测试API网关

    这次就分享一些从0到1学习如何测试API网关的经验。...降级插件测试思路:降级策略主要看开发如何选择,有的就是让请求无法访问到后端服务,借口暂停使用,当接口配置降级插件。...插件开关打开,返回API网关所配置的响应信息状态码等,接口是无法真正的请求到后端服务。...也就是说,熔断就是调用方发起服务调用时,如果被调用方返回的错误率超过一定的阈值,那么后续的请求不会真正发起请求,而是调用方直接返回错误。两个关键点,判断何时熔断和何时从熔断状态恢复。...3.4 压力测试 正常压测:压API网关的API即可 负载测试:压测时,增加和减少后端服务节点;某个服务资源打满或者超时严重,不影响其他项目正常访问 切换路由配置 项目资源测试:超过配置资源返回错误 .

    1.8K30

    测试开发:从0到1学习如何测试API网关

    这次就分享一些从0到1学习如何测试API网关的经验。...降级插件测试思路:降级策略主要看开发如何选择,有的就是让请求无法访问到后端服务,借口暂停使用,当接口配置降级插件。...插件开关打开,返回API网关所配置的响应信息状态码等,接口是无法真正的请求到后端服务。...也就是说,熔断就是调用方发起服务调用时,如果被调用方返回的错误率超过一定的阈值,那么后续的请求不会真正发起请求,而是调用方直接返回错误。两个关键点,判断何时熔断和何时从熔断状态恢复。...3.4 压力测试 正常压测:压API网关的API即可 负载测试:压测时,增加和减少后端服务节点;某个服务资源打满或者超时严重,不影响其他项目正常访问 切换路由配置 项目资源测试:超过配置资源返回错误 .

    89730
    领券