首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Supplier<>获取原始信息

Java Supplier<>获取原始信息
EN

Stack Overflow用户
提问于 2021-11-07 18:10:41
回答 3查看 116关注 0票数 0

我使用代码中的供应商调用restTemplate,并在出现异常时发出自定义消息。

但是,在我的消息中,我需要通过我的requestCall获得信息,但是当我抛出请求时会出现java thow错误

..。

我的代码:

{ HttpHeaders headers = buildDefaultHeaders();UriBuilder uri = UriBuilder.fromUri(wdd3dGatewayEndpoint + API_URL);HttpEntity请求=新HttpEntity(headers);this.executeRequest(() -> restTemplate.exchange(uri.build(),HttpMethod.DELETE,request,Void.class));}

我的供应商

受保护的ResponseEntity executeRequest(供应商请求){尝试{ ResponseEntity response = request.get();updateSessionToken(响应);返回响应;} catch (HttpClientErrorException = HttpServerErrorException e) { String msg =“WDD3D-服务通信中的错误”+ e.getResponseBodyAsString();抛出新的MaestroException(msg);}}

现在,我试着找出URL.

受保护的ResponseEntity executeRequest(供应商请求){尝试{ ResponseEntity response = request.get();updateSessionToken(响应);返回响应;} catch (HttpClientErrorException = HttpServerErrorException e) {//抛出.请帮帮我..。RequestEntity requestEntity = (RequestEntity)请求;String url = requestEntity.getUrl().toString();String msg =“WDD3D-服务通信中的错误”+ e.getResponseBodyAsString();抛出新的MaestroException(msg);}]

EN

回答 3

Stack Overflow用户

发布于 2021-11-07 18:21:49

您应该使用get()方法的Supplier,请参阅更多的文档

票数 1
EN

Stack Overflow用户

发布于 2021-11-07 18:22:48

RequestEntity requestEntity = (RequestEntity) request;

您正在尝试将Supplier<ResponseEntity>转换为RequestEntity。这是两个非常不同的阶级,这样的阵容是行不通的。

也许您想调用request.get()并从您拥有的ResponseEntity中获取URL。

告诉我它是否在注释中对您有效,还是我们需要进一步调试?

票数 1
EN

Stack Overflow用户

发布于 2021-11-07 20:58:39

您试图从RequestEntity获取的唯一东西是URL,因为它不是Supplier<ResponseEntity>,所以您不能从它获得URL,那么为什么不直接将URL作为另一个参数传递给executeRequest呢?然后,它将获得记录错误所需的附加信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69875240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档