2015-02-23 93 views
2

我遵循教程http://spring.io/guides/gs/consuming-rest/消耗休息服务。本教程仅提到了单层JSON文件。但是我想分析JSON像与嵌套json弹簧消费休息

Foo: { 
fooz: 'stringdescripoers} 
bar : { 
    baz: "something", 
    etc: [[1,2],[2,0]] 
    }, 
{another object like bar}, 
{etc} 
} 

根据TOT与Maven的turtorial我有以下主要类

import org.springframework.http.ResponseEntity; 
import org.springframework.web.client.RestTemplate; 

public class Application { 

    public static void main(String args[]) { 
     RestTemplate restTemplate = new RestTemplate(); 
     FeatureCollection collection = restTemplate.getForObject("http://www.trafficlink-online.nl/trafficlinkdata/wegdata/TrajectSensorsNH.GeoJSON", FeatureCollection.class); 
     System.out.println("it worked"); 
    } 
} 

和我的课看起来像这样已经成立了该项目。

import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 

@JsonIgnoreProperties(ignoreUnknown = true) 
public class FeatureCollection { 

    private String type; 

    public String getType() { 
     return type; 
    } 
} 

当我通过弹簧引导运行运行此我得到了我的命令行下面的结果:

tons of info, 


[INFO] Attaching agents: [] 
14:54:02.566 [main] DEBUG o.s.web.client.RestTemplate - Created GET request for "http://www.trafficlink-online.nl/trafficlinkdata/wegdata/TrajectSensorsNH.GeoJSON" 
14:54:02.634 [main] DEBUG o.s.web.client.RestTemplate - Setting request Accept header to [application/json, application/*+json] 
14:54:02.719 [main] DEBUG o.s.web.client.RestTemplate - GET request for "http://www.trafficlink-online.nl/trafficlinkdata/wegdata/TrajectSensorsNH.GeoJSON" resulted in 200 (OK) 
Exception in thread "main" org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [class FeatureCollection] and content type [text/plain;charset=UTF-8] 
     at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:108) 
     at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:795) 
     at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:779) 
     at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:559) 
     at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:512) 
     at org.springframework.web.client.RestTemplate.getForEntity(RestTemplate.java:268) 
     at Application.main(Application.java:13) 

有什么事,我没有看到?

回答

0
Could not extract response: no suitable HttpMessageConverter found for response type [class FeatureCollection] and content type [text/plain;charset=UTF-8] 

检查您的依赖关系,看看您是否有Jackson消息转换器。您需要将您正在使用的JSON转换为Java对象。如果你的依赖关系比我认为的如果你在主类的顶部使用@SpringBootApplication,Spring会自动将你正在使用的JSON转换为Java对象。在Eclipse中,尝试去新建 - > Spring Starter项目 - >并选择网页,也许休息,然后使用该项目来消耗休息。