Java 从HttpReceptionCode恢复消息

Java 从HttpReceptionCode恢复消息,java,http,exception,message,recover,Java,Http,Exception,Message,Recover,我有点问题 我必须从禁止异常中恢复userMessage: httpstatusCode:403 { “错误代码”:“0401”, “交易ID”:“XXXXXXXX-xxx-xx-x-xxx”, “用户信息”:“HG51HG4H1的评估结果不符合要求”, “错误日期”:“2021-04-13T16:30:33”, “errorContext”:{ “标识用户”:“HG51HG4H1”, “庄园”:“MyDomaine”, “DynamicMessage”:{} } } 有人知道怎么做吗 有关信息

我有点问题

我必须从禁止异常中恢复userMessage:

httpstatusCode:403

{ “错误代码”:“0401”, “交易ID”:“XXXXXXXX-xxx-xx-x-xxx”, “用户信息”:“HG51HG4H1的评估结果不符合要求”, “错误日期”:“2021-04-13T16:30:33”, “errorContext”:{ “标识用户”:“HG51HG4H1”, “庄园”:“MyDomaine”, “DynamicMessage”:{} } }

有人知道怎么做吗

有关信息,我尝试使用以下方法: HttpStatusCodeException x=(HttpStatusCodeException)异常; 字符串errorMessage=x.getMessage();
但它向我返回“403禁止”

,看起来您既有403的HTTPStatusCode,又有API返回的实际响应。因此,您需要解析响应负载,而不是HttpStatusCode。我需要找到一个解决方案\o/if(HttpStatusCodeException的异常实例){HttpStatusCodeException e=(HttpStatusCodeException)异常;字符串正文=e.getResponseBodyAsString();if(状态==HttpStatus.Probled){final ObjectMapper mapper=new ObjectMapper();尝试{JsonNode actualObj=mapper.readTree(body);String errorMessage=actualObj.get(“userMessage”).textValue();String errorCode=“0401”;抛出新的禁止异常(errorMessage,errorCode)}捕获(IOException IOException){抛出新的IOException(ioException);}否则{抛出异常;}你知道你可以回答自己的问题,所以如果你找到了解决方案,请随意回答