【问题标题】:consume only csv in rest service using jersey使用球衣在休息服务中仅消耗 csv
【发布时间】:2012-05-22 17:27:12
【问题描述】:

我正在尝试在 post 请求中发送 csv 文件,并希望在服务器上获取 csv 数据。我正在使用 jersey 来创建 Web 服务。发送 csv 文件时内容类型应该是什么,@consumes 应该是什么( __) 注释在服务器端 请帮忙

球衣代码

@POST

@Consumes("text/plain")
@Produces("text/plain")
public String respondToPost(String incomingCsv) throws IOException {
   return incomingCsv;
}

csv 文件:

email,group_email
member1@visheshapps.uni.me,team3@visheshapps.uni.me
member2@visheshapps.uni.me,team3@visheshapps.uni.me

返回:

----0246824681357ACXZabcxyz
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <startpart>
Content-Disposition: form-data; name="root-fields"


----0246824681357ACXZabcxyz
Content-Type: application/vnd.ms-excel
Content-Transfer-Encoding: binary
Content-ID: <group.csv>
Content-Disposition: attachment; name="file attachment"; filename="group.csv"

email,group_email
member1@visheshapps.uni.me,team3@visheshapps.uni.me
member2@visheshapps.uni.me,team3@visheshapps.uni.me

----0246824681357ACXZabcxyz--

我只想要

email,group_email
member1@visheshapps.uni.me,team3@visheshapps.uni.me
member2@visheshapps.uni.me,team3@visheshapps.uni.me

我更改了代码,但现在我得到了 415 不受支持的媒体类型。我的应用托管在谷歌应用引擎上

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces("text/plain")
public String respondToPost(@FormDataParam("file") InputStream csv) throws IOException {
    CSVReader csvReader = new CSVReader(new InputStreamReader(csv));
    List<String[]> rows = csvReader.readAll();
    return rows.get(1)[0];

}

【问题讨论】:

    标签: java google-app-engine rest csv jersey


    【解决方案1】:

    您可以使用text\plain mediatype 接收请求,使用OpenCSV 解析您的请求正文。

    【讨论】:

    • 谢谢,我尝试了你的建议,但没有得到我想要的,请查看更新后的问题
    • 好吧,你发送整个文件。不是它的内容。文件上传见mkyong.com/webservices/jax-rs/file-upload-example-in-jersey
    • 嘿,我只是这里的初学者,我需要进一步的帮助。请查看更新后的问题
    • jersey-multipart.jar 添加到您的pom.xml 和您的类路径中。
    • 原来,帖子是关于csvjersey的。抱歉,这不是讨论区,我无法回答您在开发过程中可能遇到的所有问题。如果我的回答有帮助 - 接受它并就新问题提出新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多