首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Spring Boot REST API错误处理指南

API处理错误的默认行为通常是返回难以理解的堆栈跟踪,而这些对API客户端来说并没有什么用。将错误信息切分成多个字段可以方便API客户端的解析,以此向用户提供更加友好的错误消息。...本文将介绍在使用Spring Boot构建REST API的时候如何进行合适的错误处理。 ? 在过去几年里,使用Spring构建REST API已经成为Java开发人员的标准方法。...让错误响应更清晰 在本文中,我们将实现一个通过REST API来检索鸟类(代表一个对象)的应用程序,代码托管在GitHub上。这个示例包含了本文描述的所有功能,以及比较多的错误处理场景。...这里另外还有一些资源,可对本文起到补充作用: Baeldung - 使用Spring对REST进行错误处理 Spring Blog - Spring MVC中的异常处理 了解基础知识 为什么API应有一个统一的错误格式...附录 译文来源:Spring Boot REST API错误处理指南-csdn

3.2K20

SpringBoot中REST API错误异常处理设计

RESTful API中的异常Exception处理有两个基本要求,需要明确业务意义的错误消息以及hhtp状态码。良好的错误消息能够让API客户端纠正问题。...2. error_code表示REST API特定的错误代码。此字段有助于传递API /业务领域中特定信息。比如类似Oracle错误ORA-12345 3. message字段表示人类可读的错误消息。...这是在使用基于Spring的REST API时的一种便捷方式,因为可以指定ResponseEntity为返回值。...现在我们可以定义一下我们的错误类信息的代码,然后把这个对象嵌入ResponseEntity中返回。...看一个简单的用例,当客户端API通过其唯一ID调用后端存储库查找记录时,如果找不到该记录,我们的存储库类会返回null或空对象,在这种情况下,即使找不到我们想要的资源记录,API也会向客户端返回http

6.9K31

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

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

79110

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

5.7K30

技术随笔:Rest Api设计中处理业务错误的一些思考

对于Rest Api中要如何处理业务错误这个事情,这并不算是一个非常大的问题。事实上,对大多数架构师来说,可能很多人都不会太在意这个点。...1. http响应码 我们都知道,http响应码是有它的标准含义的,一般而言,笔者建议遵守这个标准,http响应码从1XX到5XX都有其特定的意义,但在Rest Api中,使用最多的可能还是以2XX和4XX...3.2 发生错误时,不要返回 200 状态码 有一种不恰当的做法是,即使发生错误,也返回200状态码,把错误信息放在数据体里面......再参考一些主流的API的设计,也可以看出其对此点的设计方式 Github Api ? ZOOM API ?...当然,也有不是这样做的,比如instagram的API,它是通过meta字段来区分业务上的正确与错误 ? 你是如何想的?,见仁见智吧

1.8K10

腾讯会议Rest API网络研讨会封面会议背景图片设置结果返回变为异步方式变更通知

/product/1095/56330上线时间:1、Webhook素材上传结果事件消息订阅配置:已上线2、接口结果返回由同步方式变为异步方式:2022年12月1日变更前:1、调用创建/修改网络研讨会接口后等待封面图片上传及其他设置结果返回...2、调用添加会议背景接口后等待结果返回变更后:1、调用创建/修改网络研讨会接口后,除设置封面图片外其他参数设置等待结果返回,封面图片在Webhook 素材上传结果事件消息中返回。...2、调用添加会议背景接口后在Webhook 素材上传结果事件消息中返回。...参考官网材料对接webhook(已对接过可略过),参考文档:https://cloud.tencent.com/document/product/1095/516052、订阅素材上传结果事件消息图片3、调用Rest...API接口时记录返回的X-Tc-Trace参数,参考文档:https://cloud.tencent.com/document/product/1095/518304、接收到素材上传结果事件消息后,根据其中的

1.1K20

使用Jenkins来实现内部的持续集成流程(下)

目录 配置项目构建 添加任务 添加源代码地址和登录凭据 添加构建触发器  TFS添加WebHook  添加构建步骤 后端UI  API端  配置项目构建 1、添加任务...2、添加源代码地址和登录凭据 添加源代码地址和登录凭证 此图没有填写凭证时显示的错误 ? 点击Credential后面的添加 填写能访问源代码的用户名和密码 ? 选中刚刚添加的用户名和密码 ?...(比如TFS)添加WebHook(如果服务器不支持添加WebHook,可以考虑使用“轮询SCM”,此处未作尝试) 4、TFS添加WebHook 打开TFS 选中项目 右边设置 选择服务挂钩 ?...deploy-dev 注:如果不存在此Window Power Shell 请到Jenkins 插件管理安装插件 PowerShell 关于deploy-dev命令 详见后端UI代码package.json文件 API...Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:contentPath=%WORKSPACE%\src\admin\api

1.3K50

使用Jenkins来实现内部的持续集成流程(下)

目录 配置项目构建 添加任务 添加源代码地址和登录凭据 添加构建触发器 TFS添加WebHook 添加构建步骤 后端UI API端 配置项目构建 1 添加任务 ?...2 添加源代码地址和登录凭据 添加源代码地址和登录凭证 此图没有填写凭证时显示的错误 ? 点击Credential后面的添加 填写能访问源代码的用户名和密码 ? 选中刚刚添加的用户名和密码 ?...(比如TFS)添加WebHook(如果服务器不支持添加WebHook,可以考虑使用“轮询SCM”,此处未作尝试) 4 TFS添加WebHook 打开TFS 选中项目 右边设置 选择服务挂钩 ?...deploy-dev 注:如果不存在此Window Power Shell 请到Jenkins 插件管理安装插件 PowerShell 关于deploy-dev命令 详见后端UI代码package.json文件 API...Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:contentPath=%WORKSPACE%\src\admin\api

1K40

开发SDK的使用教程【面试+工作】

下面以TFS使用和阿里SDK做教程 ---- TFS SDK使用 一、下载必要的软件 - Eclipse安装程序 http://www.eclipse.org/ - JDK http...每个API仅支持特定的一种风格调用,传入错误的标识,可能会调用到其他API,或收到ApiNotFound的错误信息。 发起一次CommonRequest请求,您需要获取以下几个参数的值。...---- 5.错误处理 在使用阿里云Java SDK时,当服务端或者SDK端出错时,SDK会返回相应的异常信息。...这些异常信息中会包含具体的错误信息,例如错误码(Error Code)和错误消息(Error Message)。 一般情况下,您不需要对阿里云Java SDK返回错误进行处理。...您只需要根据服务端的错误提示处理服务端错误即可。 ServerException是服务端错误信息。 ClientException是SDK端错误信息。

3.9K50
领券