我有一个带有此端点的 REST API:
@GET
@Path("rol/{codEmp}")
@Produces(MediaType.TEXT_PLAIN)
public String getRole(@PathParam("codEmp") Long codEmp) {
return dao.getRole(codEmp);
}
响应示例可以是:HOUSEKEEPER
。
我是这样消费的:
@Override
public String getRole(Long codEmp) {
HashMap<String, Object> urlVariables = new HashMap<String, Object>();
urlVariables.put("codEmp", codEmp);
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAccept(Collections.singletonList(MediaType.parseMediaType("text/plain")));
HttpEntity<Object> requestEntity = new HttpEntity<Object>(httpHeaders);
return restTemplate.exchange(rootUrl.concat("/rol/{codEmp}"), HttpMethod.GET, requestEntity, String.class, urlVariables).getBody();
}
但是我得到这个错误:
"Could not extract response: no suitable HttpMessageConverter found for response type [java.lang.String] and content type [text/plain]"
我知道正确的方法是发送 JSON 响应,但我必须使用原始字符串。
我该如何解决?
谢谢
最佳答案
已解决。我在我的 Rest 模板中添加了一个字符串转换器:
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
关于java - Spring 框架 RestClientException : Extract String from text/plain response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30032603/