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

Java Rest Jersey:发布多种类型的数据(文件和JSON)

左丘恩
2023-03-14
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces({MediaType.APPLICATION_JSON})
public CreateTaskVO provideService(@FormParam("meta") String v1,
        @FormParam("data") InputStream v2) {

在这里,我设想第一个参数是元数据的JSON字符串,第二个参数是实际数据的输入流。这样行吗?

共有1个答案

赫连子石
2023-03-14

你应该使用一些多部分格式。它基本上由multipart/xxx类型的单个消息组成(其中xxx可以是类似于form-data),该消息由其他具有自己内容类型的“完整”消息和其他元数据组成。

您还没有指定哪一个Jersey版本,但是从Jersey 2.x.x开始,以单独工件的形式提供了多部分支持:

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
    <version>${jersey.version}</version>
</dependency>

然后您只需要注册该特性,如这里的注册所示。

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces({MediaType.APPLICATION_JSON})
public CreateTaskVO provideService(
               @FormDataParam("meta") String jsonMeta,
               @FormDataParam("data") InputStream file,
               @FormDataParam("data") FormDataContentDisposition fileDetail) {
    null
<dependency>
    <groupId>com.sun.jersey.contribs</groupId>
    <artifactId>jersey-multipart</artifactId>
    <version>${jersey.version}</version>
</dependency>
 类似资料:
  • 在这里,我设想第一个参数是元数据的JSON字符串,第二个参数是实际数据的输入流。这样行吗?

  • 问题内容: 很抱歉,如果这是重复的,尽管我无法在任何地方找到确切的答案: 有没有办法在 postgreSQL中 创建一个包含多个数据类型的数组? 我有一个类型的列(类型文本数组);尽管我想从type插入三个条目,然后插入第四个条目到此数组中。 有办法吗?如果是这样,怎么办? 问题答案: 我不认为有一种方法可以声明具有多个类型的数组。但是,我认为您可以使用复合类型来完成您想做的事情,例如, 然后,您

  • 我正在使用recyclerView,我成功地扩展了两个视图,但每个视图的内容都来自不同的json数据类型。我尝试在适配器中传递这两个数据类型,但它们没有正确绑定 > 源代码 公共类SimpleStringRecycleWebAdapter:RecycleWebView。适配器{ } 公共类SimpleViewHolder:RecyclerView。ViewHolder{public string

  • 问题内容: 我可以用来存储多种不同类型的数据(整数/字符串/等)?我来自PHP背景,可以将不同类型的数据存储到数组中,但是我不知道如何在Java中进行操作。 举个例子: 如何用Java做类似的事情? 问题答案: Java是一种强类型语言。在PHP或Javascript中,变量没有严格的类型。但是,在Java中,每个对象和基元都有严格的类型。您可以将多种类型的数据存储在Array中,但只能将其作为对

  • 问题内容: 我在python中有以下要求 发送文件,并将表单字段发送到后端。如何使用Angular $ http进行相同操作(发送文件+表单字段)。目前,我确实喜欢这样,但也不确定如何发送文件。 问题答案: 我最近写了一条指令,支持本地多个文件上传。我创建的解决方案依赖于服务来填补$ http服务所标识的空白。我还包含了一条指令,该指令为您的angular模块提供了一个易于使用的API,用于发布文

  • 我知道如何发布json,我知道如何在Postman中以多部分形式发布文件。但我怎样才能同时做到这两件事呢。例如: 以下是我要发布的jason: 那么如何发布位于以及上面的json? 更新:请注意,我希望使用JSON发送文件,所以我的问题不同于使用Postman发送多部分表单。