簡體   English   中英

RestTemplate 有時會給出 500 內部服務器錯誤

[英]RestTemplate giving 500 Internal server error sometimes

我有一段代碼使用 RestTemplate 調用 REST api。 在我的本地系統中一切正常。 但是在其他環境中部署后,第一次嘗試中的代碼不起作用。 它給出了org.springframework.web.client.HttpServerErrorException$InternalServerError 但是,如果我再次調用此方法,它會起作用。 我不知道為什么這會表現得很奇怪。 在我的情況下,每一次嘗試都有效。 這是我的代碼塊:

final String url = this.environment.getProperty("app.base-uri") + "/testEmail/";

final HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
httpHeaders.set(Constants.AUTHORIZATION, this.getRequestAuthorizationHeader());

final HttpEntity<EmailRequestModel> httpEntity = new HttpEntity<>(emailRequestModel, httpHeaders);

final ResponseEntity<String> emailResponseEntity = new RestTemplate().postForEntity(url, httpEntity, String.class);

以下是日志:

org.springframework.web.client.HttpServerErrorException$InternalServerError:
   at org.springframework.web.client.HttpServerErrorException.create (HttpServerErrorException.java100)
   at org.springframework.web.client.DefaultResponseErrorHandler.handleError (DefaultResponseErrorHandler.java172)
   at org.springframework.web.client.DefaultResponseErrorHandler.handleError (DefaultResponseErrorHandler.java112)
   at org.springframework.web.client.ResponseErrorHandler.handleError (ResponseErrorHandler.java63)
   at org.springframework.web.client.RestTemplate.handleResponse (RestTemplate.java785)
   at org.springframework.web.client.RestTemplate.doExecute (RestTemplate.java743)
   at org.springframework.web.client.RestTemplate.execute (RestTemplate.java677)
   at org.springframework.web.client.RestTemplate.postForEntity (RestTemplate.java452)
   at com.toyota.tmi.service.impl.ExtraRequestServiceImpl.sendWorkflowEmail (ExtraRequestServiceImpl.java1153)

你能告訴我為什么這會表現得很奇怪嗎? 我無法從日志中弄清楚。 謝謝。

您能否在服務端也看到任何錯誤,或者它只是客戶端。 您提供的代碼快照似乎很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM