我在我的代碼中使用供應商來呼叫 restTemplate 并在有例外時制作自定義訊息..
但是,我的訊息,我需要通過我的 requestCall 獲取資訊,但是當我投射請求時,java thow 錯誤
...
我的代碼:
public void execute() { HttpHeaders headers = buildDefaultHeaders(); UriBuilder uri = UriBuilder.fromUri(wdd3dGatewayEndpoint API_URL); HttpEntity request = new HttpEntity(headers); this.executeRequest(() -> restTemplate.exchange(uri.build(), HttpMethod.DELETE, request, Void.class)); }
我的供應商
protected ResponseEntity executeRequest(Supplier<ResponseEntity> request) { try { ResponseEntity response = request.get(); updateSessionToken(response); return response; } catch (HttpClientErrorException | HttpServerErrorException e) { String msg = "WDD3D-Error in service communication<br>" e.getResponseBodyAsString(); throw new MaestroException(msg); } }
現在,我嘗試強制轉換以獲取 URL ...
protected ResponseEntity executeRequest(Supplier<ResponseEntity> request) { try { ResponseEntity response = request.get(); updateSessionToken(response); return response; } catch (HttpClientErrorException | HttpServerErrorException e) { //THROW EXEPTION HERE... PLEASE HELP... RequestEntity requestEntity = (RequestEntity) request; String url = requestEntity.getUrl().toString(); String msg = "WDD3D-Error in service communication<br>" e.getResponseBodyAsString(); throw new MaestroException(msg); } }]
uj5u.com熱心網友回復:
您應該使用 的get()方法Supplier,請參閱檔案中的更多內容。
uj5u.com熱心網友回復:
RequestEntity requestEntity = (RequestEntity) request;
您正在嘗試將 a 轉換Supplier<ResponseEntity>為 a RequestEntity。這是兩個非常不同的類,這樣的演員表永遠不會起作用。
也許您想呼叫request.get()并從ResponseEntity您擁有的 URL 中獲取 URL 。
在評論中告訴我它是否適合您,或者我們需要進一步除錯?
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/351812.html
上一篇:資料未寫入csv檔案
