我有一个这个端点的REST API:
@GET
@Path("rol/{codEmp}")
@Produces(MediaType.TEXT_PLAIN)
public String getRole(@PathParam("codEmp") Long codEmp) {
return dao.getRole(codEmp);
}
Run Code Online (Sandbox Code Playgroud)
响应的一个例子可以是: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();
}
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
"无法提取响应:没有为响应类型[java.lang.String]和内容类型[text/plain]找到合适的HttpMessageConverter"
我知道正确的方法是发送JSON响应,但我必须使用原始String.
我该如何解决?
谢谢
解决了.我在我的Rest模板中添加了一个String转换器:
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3829 次 |
最近记录: |