我正在使用 webClient 调用调用服务 1,该服务 1 调用服务 2,然后服务 2 从数据库中获取数据并返回它们。问题:我有 onStatus 来捕获错误的响应,因此响应具有 400 或 500 个状态代码。代码示例:
return webClient.post()
.uri('/example')
.header('someHeader')
.body(PojoBody)
.retrieve()
.onStatus(HttpStatus:isError, handleError)
.bodyToMono(ResponsePojo);
在一些边缘情况下,响应带有200个状态代码,响应体有失败消息和失败原因。那么我如何检索它,然后用该失败消息抛出异常(在其他服务返回的响应对象中)。因为它试图映射并抛出错误。目前我得到500个内部服务器错误。任何帮助都将不胜感激。
< code>onStatus方法允许您处理特定的HTTP状态响应。你也可以用它来获得成功的回答:
.onStatus(HttpStatus::is2xxSuccessful, this::handleSuccess)
.onStatus(HttpStatus::isError, this::handleError)
问题内容: 我有一个API调用,我需要对其进行一些检查并可能返回各种状态代码。我不需要自定义视图或任何东西,我只需要返回正确的代码。如果用户未通过适当的凭据,则需要返回401状态。如果他们尚未发送受支持的请求格式,则需要返回400状态。 因为它是一个API,所以我真正想做的就是设置响应状态并以一条简单的愚蠢消息退出,该消息说明请求失败的原因(可能使用)。刚好足以完成工作,但我还无法使其正常工作。我
我试图创建一个regex来捕获HTTP状态代码和curl请求的主体。下面的regex模式可以在多个在线站点上工作,但在我的Mac命令行上的shell if-语句中不匹配。是我的regex关闭了还是有其他事情发生? 我也对其他方法持开放态度(我的目标是运行Centos5的机器)。
我希望返回http状态代码和响应对象。如果我只是在失败场景中返回response object,则状态返回为200。但是我希望将服务返回的状态(例如:403)与响应对象一起发送。但是下面的代码只是返回消息和状态。在这种情况下,我想要响应对象orderdetails对象,它有失败原因和其他字段。如何将对象传递回客户端有什么帮助吗?
我使用curl获取http头以查找http状态代码并返回响应。我使用以下命令获取http头
我想知道在REST API中应该如何响应。 有效示例: 以上是一个有效的请求,当前我的HTTP状态为200,有一个JSON响应
的方法,例如抛出。我想从catch块中的那个异常对象中提取HTTP状态代码和响应正文。我该怎么做?