java - Spring 框架 RestClientException : Extract String from text/plain response

标签 java spring rest

我有一个带有此端点的 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/

相关文章:

java.lang.IllegalArgumentException : Failed to find configured root that contains/storage/emulated/0/

java - Spring自定义 Autowiring

java - URL 无法找到我的 Web 应用程序上下文 – Java Enterprise Beans - Wildfly

api - 在RESTful API请求中指定资源的字段列表的方法

rest - 使用ElasticSearch输出创建与请求路径值同名的索引

java - 如何通过java代码将VML转换为SVG或VML转换为位图图像?

java - Android从restful服务读取json

java - Spring 启动 : Initializing EmbeddedServletContainerFactory based on some flag

java - Eclipse Tomcat 8 服务器上的 Spring MVC 应用程序输出过多的 DEBUG 消息

mysql - 在数据库日期字段中仅保留 dd-MM-yyyy