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

Spring Boot REST API错误处理指南

API Error Handling 作者:BRUNO LEITE 翻译:雁惊寒 文章正文 API在提供错误消息的同时进行适当的错误处理,是一个非常有用的功能,因为这能让API客户端对问题进行正确地响应...API处理错误的默认行为通常是返回难以理解的堆栈跟踪,而这些对API客户端来说并没有什么用。将错误信息切分成多个字段可以方便API客户端的解析,以此向用户提供更加友好的错误消息。...本文将介绍在使用Spring Boot构建REST API的时候如何进行合适的错误处理。 ? 在过去几年里,使用Spring构建REST API已经成为Java开发人员的标准方法。...exception字段只有Java开发人员会感兴趣,该消息使API消费者迷失在与它们无关的细节中。是否有更多的细节可以从错误产生的异常中提取出来呢?...附录 译文来源:Spring Boot REST API错误处理指南-csdn

3.2K20

Spring Boot处理REST API错误的正确姿势

在本文中,我们就来介绍在我们使用spring boot来构建REST API时如何更好的更恰当的处理错误信息。 ?...使用Spring来构建REST API现在基本上已经变成了java开发者事实上的标准。...如果你仍然不确定如何开发基本的REST API,那么你应该先去了解下有关Spring MVC的文章,或者关于构建Spring REST服务的文章。...好的,来定义一个表示API错误的类。 我们将创建一个名为ApiError的类,其具有足够的字段来保存REST调用期间发生的错误的相关信息。 ? status属性:保存操作调用状态。...timestamp属性:保存发生错误的日期时间。 message属性:保存有关错误的对用户友好的消息。 debugMessage属性:是更详细的描述错误的系统消息

3.5K130

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

RESTful API中的异常Exception处理有两个基本要求,需要明确业务意义的错误消息以及hhtp状态码。良好的错误消息能够让API客户端纠正问题。...在本文中,我们将讨论并实现Spring的REST API异常处理。...2. error_code表示REST API特定的错误代码。此字段有助于传递API /业务领域中特定信息。比如类似Oracle错误ORA-12345 3. message字段表示人类可读的错误消息。...5. information_link字段指定有关错误或异常的详细信息的链接。 Spring REST错误处理 Spring和Spring Boot提供了许多错误/异常处理选项。...在这篇文章中,我们介绍了实现Spring REST异常处理的不同选项。 为REST API构建一个良好的异常处理工作流是一个迭代和复杂的过程。

6.9K31

C# 实现腾讯云 IM 常用 REST API消息管理

关于腾讯 IM REST API REST API 是腾讯即时通信 IM 提供给服务端的一组 HTTP 后台管理接口,如消息管理、群组管理、用户管理、会话管理等等。...REST API 接口较为原始,管理能力强大。另外,为了安全性,REST API 仅提供 HTTPS 接口,本文将主要介绍常用的消息管理API。...开发前准备 (1)开发前需要申请 SDK 开发者 ID 及密钥,如何获取请参照如下链接: 腾讯IM即时通信控制台 (2)调用 REST API 之前,需要生成 UserSig ,UserSig 是用户登录即时通信...或以上 开发工具:VS2019 C# 常用消息管理API 发送单聊消息 SendMsg方法可以在 IM 应用系统内在指定的用户之间发送文本消息内容。...API 提供了非常丰富与完善的管理功能列表,在这里我们仅是以满足自身应用需要而提取的常用帐户管理功能,更多详情请参照如下链接: REST API 接口列表 | 腾讯云 本文代码仅供您参考使用,您可以参照官方文档开发出更加贴合自身需求的应用

8910

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

对于Rest Api中要如何处理业务错误这个事情,这并不算是一个非常大的问题。事实上,对大多数架构师来说,可能很多人都不会太在意这个点。...1. http响应码 我们都知道,http响应码是有它的标准含义的,一般而言,笔者建议遵守这个标准,http响应码从1XX到5XX都有其特定的意义,但在Rest Api中,使用最多的可能还是以2XX和4XX...比如:我们需要统计或监控基于IP或客户的维度,某个API调用了多少次,成功了多少次,失败了多少次。...再参考一些主流的API的设计,也可以看出其对此点的设计方式 Github Api ? ZOOM API ?...当然,也有不是这样做的,比如instagram的API,它是通过meta字段来区分业务上的正确与错误 ? 你是如何想的?,见仁见智吧

1.8K10

微信 API 中调用客服消息接口提示错误返回限制

错误的信息如下:errcode=45015, errmsg=response out of time limit or subscription is canceled rid: 5f8fd8b7-0f8aa1a9...用土话来说,就是你的客服消息不是你想法就可以发的,微信限制公众号主动发送消息的能力。这 48 小时的定义为:用户 A,发送了一个消息给公众号,公众号会回复消息给客户 A。...通常这种情况是在异步模式下,因为你的服务器可能没有办法做到在 5 秒内回复消息给客户,那么你需要调用这个客服接口。但是你又不能等个 10 天半个月的再回复。这个回复的消息应该是在 48 小时内。...用更土的话说,如果你的微信公众号用户在 48 小时内没有和你有过什么互动,你就不能主动发消息给你的用户。解决办法这个问题通常出现在测试阶段,解决办法就是用你的账号关注公众号。...然后那拿你的账号发个消息给你的公众号,那么你就可以调用接口进行消息回复给你的这个客户了。这个解释是不是会清楚点呢?https://www.ossez.com/t/api/14323

1.1K20

通俗易懂RESTful,如何设计RESTful风格API「建议收藏」

从应用角度来分析: 一、REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful APIREST风格的网络接口); 二、Server提供的...获取某人的新鲜; http://api.qc.com/v1/friends: 获取某人的好友列表; http://api.qc.com/v1/profile: 获取某人的详细信息; 三、用HTTP...比如: DELETE http://api.qc.com/v1/friends: 删除某人的好友 (在http parameter指定好友id) POST http://api.qc.com/v1/...比如最常用的 200 表示成功,500 表示Server内部错误等。 好了,理解了RESTful的概念,究竟如何应用,这是个问题。...参考资料: Richardson Maturity Model – steps toward the glory of REST PayPal REST APIs 阮一峰RESTful设计规范 Richardson

64510

什么是RESTful,REST api设计时应该遵守什么样的规则?

图片只要双方都知道要发送给对方的消息格式,它们就可以保持模块化和分离,将用户界面关注点与数据存储关注点分开,这样可以极大提高跨平台界面的灵活性,并通过简化服务器组件来提高可扩展性。...如何使用REST API?HTTP 动词REST API 通过各种 HTTP 请求方法,使前端与服务器的通信过程更容易,最常用的方法是:GET : 用于读取服务器上的数据。POST : 用于创建数据。...但是假如api是https://www.wljslmz.cn/v1/users/1/start-work,那么你在浏览器中必须是大写形式。...4xxs:客户端错误,例如,404 - 找不到页面。5xxs:服务器错误,请求失败。...,一般性,值得查看其他 500 级错误503:服务不可用,另一个重试标头有用总结REST是一种软件架构风格,用于 Web 架构的设计,任何遵循 REST 设计原则的 API都被称为 RESTful,在开发初期

1.1K30

PayPal大规模采用GraphQL的探索和实践

使客户端保持最新:我们在 REST API 中大量使用 API 版本号。任何时候我们有突破性的改变,我们都会将其发布为一个新的 API 版本。...与 API 集成时开发人员体验不一致:在 REST API 中,不同团队对同一变量有不同的约定,例如 user、username, 使得理解 API 变得更加困难。...PayPal 有一套庞大的 REST API,支持应用程序核心功能,并且非常靠近数据库。GraphQL 在我们的应用程序中用作编排层。...对于核心平台 API 团队,我们还没有完全说服他们。当我们介绍 GraphQL 概念时,有时我们被告知 REST 也可以这样做。...我们还没有得到所有前端或后端开发人员的完全认证,但是我们的 REST API 和 GraphQL API 可以共存。我们学会了不操之过急,一点点来。

3K20

《ASP.ENT Core 与 RESTful API 开发实战》-- 读书笔记(第1章)

第 1 章 REST 简介 1.1 APIREST API 是一个系统向外暴露或公开的一套接口,通过这些接口,外部应用程序能够访问该系统 REST 是一种基于资源的架构风格,任何能够命名的对象都是一个资源...: 起始行:描述执行的请求,或者对应的状态,成功或失败 HTTP 消息头:请求或响应的相关属性、配置、对消息正文的描述等 空行:指明消息头已经发送完毕 消息正文:包含请求数据,或响应中资源的表述 请求起始行包括...:请求包含语法错误或请求内容不正确 5xx:服务端错误:服务器在处理请求的过程中发生了错误 1.3 REST 最佳实践 首先,在实现 RESTful 系统时,应正确地使用 HTTP 方法、HTTP 消息头和...添加版本有以下4中方式: 使用 URI 路径,如 api/v1/users 使用查询字符串,如 api/users?...version=1 使用自定义消息头,如 Accept-version:v1 使用 Accept 消息头,如 Accept:application/json;v=2.0

89310

基于场景选择微服务的API范式:REST、GraphQL、Webhooks和gRPC

总之,REST是现代微服务API领域非常高效、有效和强大的解决方案。 二、REST案例:PayPal REST API的一个示例应用是PayPal REST API。...PayPal强大的核心业务功能之一是为支付处理提供集成系统。因此,需要使用API简化这一过程。...为此,PayPal API的设计理念是易于理解和易于集成。...以下这个示例摘自其官方文档,显示了API的一次调用如何列出一系列活动: curl -v -X GET https://api.sandbox.paypal.com/v1/activities/activities...白小白: Bugsnag,应用程序实时检测应用,是一个可以针对应用程序崩溃错误进行实时检测追踪的软件测试利器工具;帮助查找、追踪手机应用和网页应用程序中出现的错误问题。

2.6K30

Uber服务端响应中的API调用缺陷导致的账户劫持

Uber的Web应用服务体系是基于很多微服务架构部署的,由于微服务中会涉及到大量的REST模式,因此,在与各种Uber应用的交互过程中,Uber服务端难免会调用到一些REST API接口。...就比如说,你要查看某位司机的状态信息,Uber后端会涉及到类似如下的REST API接口调用: https://localhost:1234/partner/PARTNER_UUID/trips?...从上述响应消息可看出,涉及该查询链接的后端API GET请求调用如下所示: http://127.0.0.1:123/v1/partners/xxxx/statements/current?...earnings_structure_type=&locale=en&user_id=xxxx 这是一个典型的后端REST API调用。...基于以上思路,需要找到一个具备以下条件的前端请求路径(Endpoint): 能从其GET请求中传递任意相关参数; 能从其GET请求中传递经过编码转义的字符,防止一些不必要的字符解析和参数传递错误,如

1.3K10

如何设计开发好一个 HTTP API

在过去的几年里,我使用着各式各样的HTTP API。这些API通常不是公开的,只是提供给合作伙伴公司。此外,我也看了很多开发者提供的API,自己也参与了几个API的开发。...这些API经常有设计缺陷,使得API的可靠性与可集成性变得有点困难。 我想说常出的问题主要是重复创建资源。资源创建必须与关键的实际操作(如付款)绑定在一块。...让我们以Paypal的Create Payment API为例: 当我们创建一个新的付款资源。(我们向/v1/payments/payment发出POST请求),Paypal则立即向用户收费。...更糟糕的,如果我们有一个发现网络错误的自动重试机制,这会向用户发生二次收费。 当然,这是API的一个已存在的问题,Paypal提供了一个解决方案。...我们可以使用PayPal-Request-Id或者使用误写发票号码来取消重复的请求。 但是解决方案真的需要这么复杂么?

95270

72.精读《REST, GraphQL, Webhooks, & gRPC 如何选型》

REST 基于原生 HTTP 接口,因此改造成本很小,而且其无状态的特性,降低了前后端耦合程度,利于快速迭代。 随着未来发展,REST 可能更适合提供微服务 API。...使用举例: curl -v -X GET https://api.sandbox.paypal.com/v1/activities/activities?...使用举例: 原文推荐参考 GitHub GraphQL API 比如查询某个组织下的成员,REST 风格接口可能是: curl -v https://api.github.com/orgs/:org/members...举个常用例子,比如你的好友发了一条朋友圈,后端将这条消息推送给所有其他好友的客户端,就是 Webhooks 的典型场景。...对于慢查询等场景,前端普遍使用轮询完成,这和 Socket 相比体验更弱,但无状态的特性反而会降低服务器负担,所以慢查询和即时通讯要区分对待,用户对消息及时性的敏感程度决定了使用哪种方案。

58210
领券