spring - Spring boot Web-Client 异常处理
问题描述
我正在尝试处理下游服务引发的异常并捕获错误代码以及错误响应消息。在网上搜索了一些解决方案后,我看到了以下处理异常的常用方法,但我真的不确定我必须在 MyCustomConnectionException 中写什么?顺便说一句,当我使用Resttemplate时,我可以通过抛出HttpClientResponseException并捕获所有内容来轻松处理,但这里真的不确定这是如何工作的?我是使用 Webclient 和 Spring 反应技术的新手。有人可以帮我吗。?
Mono<String> result = client.get()
.uri("/api/{id}", id).accept(MediaType.APPLICATION_JSON)
.retrieve()
.onStatus(HttpStatus::is4xxClientError, response -> {
return Mono.error(new MyCustomConnectionException());
})
.bodyToMono(String.class);
解决方案
当由于您的 Web 客户端配置错误而发生任何错误时,MyCustomConnectionException 类可以抛出您希望返回的任何自定义消息,例如不正确的 URL 或缺少身份验证密钥。
推荐阅读
- algorithm - 具有分治法的数组和的复杂性
- python-3.x - 无法使用导入的 winreg 安装和启动 Windows 服务
- java - 在 Android 中解密使用 AES/GCM/NoPadding 加密的消息时出错
- html - 单击链接时主导航移动
- c# - 将新行分配给 ComboBox 的 DataSource 列
- python - 使用 Pandas 的 fillna() 方法替换列中的特定字符串值
- python - 在 Python 中运行 RFTagger
- vba - Excel VBA 访问数组
- api - 从 Userpass 登录自动获取令牌
- apache-pig - apache pig中的BASE64编码