当前位置: 首页 > 知识库问答 >
问题:

Spring Framework RestClientException:从文本/纯响应中提取字符串

端木明贤
2023-03-14

我有一个带有此endpoint的REST API:

@GET
@Path("rol/{codEmp}")
@Produces(MediaType.TEXT_PLAIN)
public String getRole(@PathParam("codEmp") Long codEmp) {
    return dao.getRole(codEmp);
}

响应的示例可以是:管家

@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();
}

谢谢

共有1个答案

滕成双
2023-03-14

解决了。我已经向我的Rest模板添加了一个字符串转换器:

restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
 类似资料:
  • 我正在使用ApacheJMeter发出HTTP请求。 响应格式如下: HTTP/1.1 100继续 HTTP/1.1 200 OK x-powering-by: Express access-Control-low-source:*access-Control-low-method: HEAD, POST, PUT, GET, OPTIONS, DELETE access-Control-low-

  • 这将返回有效用户的调用状态。例如,如果用户是有效的,并且存在状态,则以纯文本形式返回“Active”。如果没有有效用户,则返回#1005的错误代码 我可以像这样添加自定义转换器工厂(在web上找到) 但我没看到有什么不同。此外,它还可以很好地将JSON伪装成普通文本,并破坏所有现有服务。有没有更好的方法来处理这种情况?我想过为纯文本提供单独的改型实例,虽然有点脏。你还有其他的建议/解决办法吗?

  • 我在使用Spring RestTemplate时遇到了问题。 现在,我向一个restful服务发送一个PUT请求,该restful服务向我发回重要的信息作为响应。 问题(就像我前面说的)是上面的try/catch没有返回任何响应,但它给了我一个200的响应。 所以现在我问,会有什么问题?

  • 我有以下字符串 从上面,我需要提取下面的文字 第一个数字和文本之间总是有一个空格,所以2129和This is page1之间有一个空格。有时第一个数字被省略,就像2129不见了。文本和下一个数字之间总是有一个空格,所以在This is a Page1和6754001之间有一个空格,有时可能有两个空格。我只需要提取这些线这些线总是从空格开始,所以它可以 它们的后面总是有一个空格,有时是一个空格,有

  • 问题内容: 我必须从关键字后的SQL字段中的文本中提取内容。例如,如果我在表中有一个名为description的字段,并且该字段的表内容为: asdasf关键字狗 aeee关键字cat ffffaa关键字狼 我想提取并保存“关键字”之后的文本(在本例中为“狗,猫和狼”),然后将其保存在视图中,或者简单地通过选择显示它。谢谢你。 问题答案: 这是一个使用示例: 另一个例子: 结果: 请注意,此字符串

  • 所谓字符串,指的就是字符的序列或者“串”。我们要在字符串上执行的第一个操作是提取所有字符中的一个。C++使用方括号([和])执行该操作: apstring fruit = "banana"; char letter = fruit[1]; cout << letter << endl; 表达式fruit[1]表明我们要从字符串变量fruit中取得编号为1的字符,并将结果保存在字符变量letter