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

YQL返回应用程序/javascript,即使格式=json被请求

岑驰
2023-03-14

我试图在Spring Boot应用程序中对YQL进行REST调用。即使我设置了'format=json',调用也会返回'application/javascript',这将导致以下消息:

组织。springframework。网状物客户RestClientException:无法提取响应:未找到响应类型[class com.dilteam.research.YqlQueryResult]和内容类型[application/javascript;charset=utf-8]的合适HttpMessageConverter

这里的方法(过程Ticker)

public void processTicker(String ticker) {
    RestTemplate restTemplate = new RestTemplate();
    String query = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%3D'YHOO'&format=json&callback=?";
    YqlQueryResult qr = restTemplate.getForObject(query, YqlQueryResult.class);
    System.out.println("result" + qr.results);
}

@JsonIgnoreProperties(ignoreUnknown = true)
public class YqlQueryResult {
    public String results;
}

我做错了什么?

共有1个答案

勾岳
2023-03-14

您的restemplate不知道如何读取应用程序/javascript响应。假设application/javascript实际上是JSON,您可以通过向RestTemplate添加适当配置的转换器来解决问题:

MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
converter.setSupportedMediaTypes(Arrays.asList(new MediaType("application", "javascript")));
restTemplate.getMessageConverters().add(javascriptConverter);
 类似资料:
  • 问题内容: 如何将Webmethod的值以JSON格式返回给客户端? 我要返回两个静态int值。 我是否需要使用这两个属性创建新对象并返回它? GetStatus()方法经常被调用,我不喜欢每次仅用于json格式创建一个特殊对象的想法。 在客户端,我在捕获返回值: 问题答案: 我只想带一个物体。它符合您的需求。如果您有两个返回值,则必须以结构化的方式将它们放在一起。

  • 本文向大家介绍使用getJSON()异步请求服务器返回json格式数据的实现,包括了使用getJSON()异步请求服务器返回json格式数据的实现的使用技巧和注意事项,需要的朋友参考一下 我们可以使用jquery的getJSON()方法请求服务器返回json格式数据: js代码: 服务器端servlet响应: 注意:json数据属性名和字符型值都必须是双引号 以上这篇使用getJSON()异步请求

  • 我正在尝试使用Spring4实现REST服务。 REST 方法将以 XML 格式返回客户对象的列表。该应用程序是注释驱动的。 对于XML,我使用了JAXB注释。按照我的理解,Spring在找到Jaxb注释时会使用“JAXB 2 rootelementtpmessageconverter”开箱即用。 客户: 我已经将REST服务类注释为@RestController(根据Spring4) 以 XML

  • 问题内容: 我有一个返回JSON的MVC控制器。我想使用jQuery读取/获取JSON并遍历JSON项目/行。 基本上,我正在阅读一堆评论,然后逐一显示评论。 有人有代码示例吗? 我正确地获取了json。请参阅下面的返回数据。 谢谢 编辑: 如何循环这些由控制器返回的json?我需要循环3次,然后对于每一行,我需要访问该行中的所有键和值。 问题答案: 第一个问题的答案是允许Json在GET中工作。

  • 我有一个ReST API到一个应用程序,该应用程序中的所有控制器都在下找到,这些控制器都返回JSON响应,并带有一个,它处理所有异常以映射到JSON格式的结果。 从Spring 4.0开始,这非常有效现在支持注释匹配。我无法解决的是如何为401-UnAuthated和400-Bad Request响应返回JSON结果。 相反,Spring只是将响应返回给容器(tomcat),该容器将其呈现为超文本

  • 我是新来表达,目前如果我想发送一个回应,我会这样做 对于我所有的控制器函数,我会这样做。我想这是一种压倒性的,所以我在想是否有可能制作一个广义版本的响应。 所以经过一些搜索,我发现有两种方法可以实现这一点: 我找到了这个答案。这很清楚,但我认为这是浪费时间,我的控制器不够可读,我必须在每个控制器函数中做以下事情 这是非常有希望的,但不幸的是,经过这么多次尝试和遵循express docs,我无法让