【问题标题】:How can I work with a .csv file using Java Spring Resttample?如何使用 Java Spring Resttample 处理 .csv 文件?
【发布时间】:2014-11-06 09:58:02
【问题描述】:

关于将 .csv 文件与 java spring 中的 Resttemplate 一起使用,我有一个小问题。 它看起来像:

URL url = URL url = new URL("http://data.wien.gv.at/daten/geo?service=WFS&version=1.0.0&request=GetFeature&typeName=ogdwien:GEONAMENSVERZOGD&outputFormat=CSV");
RestTemplate restTemplate = new RestTemplate();

后来我想使用 restTemplate 的 getForObject() 方法,但我不知道如何继续,因为我在 Internet 上的任何地方都找不到匹配的参数。

感谢您的帮助!

【问题讨论】:

    标签: java spring csv resttemplate


    【解决方案1】:

    首先,您需要一个 CSV 解析库,例如 SuperCSV 或 OpenCSV。

    其次,您可以将 HttpMessageConverter 添加到 Spring 以将 csv 输入转换为 java 对象。 http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/http/converter/HttpMessageConverter.html

    设置完成后,您将能够直接 getForObject 并获取 java 对象。

    【讨论】:

    • 感谢您的回答,我已经在使用 CSV 解析库。我的问题是我不知道应该使用该方法输入什么值 .getForObject(url,???);以及如何继续将其放入 csvParser。那是我的问题。
    • 第二个参数是你希望内容转换成的java类型。我想您定义了一个可以从 CSV 行构建的 bean 类,那么第二个参数可以是该类型的数组 .class 即 MyCsvRow[].class 但是,要做到这一点,您需要指示 Spring 如何转换它使用我提到的 HttpMessageConverter 。或者您可以简单地将内容作为字符串获取: ResponseEntity response = restTemplate.getForObject(url, String.class);然后将其传递给您的 CSV 解析库。
    • 使用字符串响应 = restTemplate.getForObject(url, String.class);给我一个错误,但不知道为什么。想将响应字符串传递给 CSV 解析器,但没有运气。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 2018-05-22
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多