gpt4 book ai didi

java - 使用 Jackson 解析 multipart/form-data 或 application/json

转载 作者:行者123 更新时间:2023-12-02 02:39:57 24 4
gpt4 key购买 nike

我正在将 CXF 与 JacksonJsonProvider 一起用于我的 REST 服务。我有一个测试方法如下

@POST
@Path("/book/{id}")
@Consumes({"application/json, multipart/form-data, application/x-www-urlencoded"})
@Produces({"application/json"})
public boolean setOwner(Book book) {
System.out.println(book.getName());
return true;
}

现在,如果我使用原始 JSON 字符串发出 POST 请求,如下所示

    {"Book":{"name":"Book name","publisher":"Book publisher"}}

当我在发出请求时使用 Content-Type 作为“application/json”时,请求被正确处理。

但是由于我正在与外部服务集成,因此我收到了 multipart/form-data 或 application/x-www-urlencoded ,据我所知 Jackson 中没有任何东西可以处理它。如果有人能指出我正确的方向,那就太好了。

我可以使用 Jettison(CXF 的一部分)管理多部分/表单数据,但我想使用 Jackson。

最佳答案

几乎几年后,我一直想做同样的事情!我没有太多运气使用一种方法来处理多个 mime 时间,但我确实使用两种方法让它工作,例如:

@POST
@Path("/book/{id}")
@Consumes({"multipart/form-data"})
@Produces({"application/json"})
public boolean setOwnerFromUpload(@FormDataParam("file") InputStream inputStream) {
// decode
final ObjectMapper mapper = new ObjectMapper();
final Book book = (Book) mapper.readValue(inputStream, Book.class);
System.out.println(book.getName());
return true;
}

通过两种方法,jackson 现在可以处理两种不同的 mime 类型。

关于java - 使用 Jackson 解析 multipart/form-data 或 application/json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8611128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com