Jersey:JSON 对象列表

2023-11-24

我试图在我的 Jersey 实现资源类中检索对象的后集合,如下所示:

@POST
@Path("/send")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public String sendEmails(ArrayList<AnyEmail> email) {
    //emailManager.sendEmail(email);
    return "success";
}

我有@XmlRootElement上面的`AnyEmail.

但是,当我使用 REST 客户端工具这样发布时:

 emails : [
       {"body": "Testing the web service", "header": "Hi", "footer": "<br/>test"},
       {"body": "Testing the web service", "header": "Hi", "footer": "<br/>test"}
      ]

I get:

<html><head><title>Apache Tomcat/7.0.22 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException: Servlet execution threw an exception
</pre></p><p><b>root cause</b> <pre>java.lang.Error: Error: could not match input
    com.sun.jersey.json.impl.reader.JsonLexer.zzScanError(JsonLexer.java:491)
    com.sun.jersey.json.impl.reader.JsonLexer.yylex(JsonLexer.java:736)

EDITED
现在我尝试了:

 "emails" : [
           {"body": "Testing the web service", "header": "Hi", "footer": "<br/>test"},
           {"body": "Testing the web service", "header": "Hi", "footer": "<br/>test"}
          ]

我得到:

    SEVERE: Servlet.service() for servlet [Jersey Web Application] in context with path [/API] threw exception
java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.ArrayList.get(ArrayList.java:324)
    at com.sun.jersey.json.impl.reader.JsonXmlStreamReader.valueRead(JsonXmlStreamReader.java:165)
    at com.sun.jersey.json.impl.reader.JsonXmlStreamReader.readNext(JsonXmlStreamReader.java:330)

为什么你不使用简单的Java数组???

[
   {"body": "Testing the web service", "header": "Hi", "footer": "<br/>test"},
   {"body": "Testing the web service", "header": "Hi", "footer": "<br/>test"}
]

然后是下面的方法:

@POST
@Path("/send")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public String sendEmails(AnyEmail[] emails) {
    //emailManager.sendEmail(emails);
    return "success";
}

这应该够了吧...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jersey:JSON 对象列表 的相关文章

随机推荐

  • 如何确定旅行商问题的起点和终点?

    我有一个求解器可以解决正常的对称 TSP 问题 该解决方案意味着经过所有节点的最短路径 并且不限制哪些节点是路径中的第一个和最后一个节点 有没有办法转化问题 保证一个特定的节点作为起始节点 另一个节点作为结束节点 一种方法是将 I 非常大的
  • 在 Dask DataFrame.apply() 上,在处理实际行之前接收 n 行值 1

    在下面的代码片段中 我希望日志打印数字 0 4 我知道数字可能不是按这个顺序 因为任务将被分解为多个并行操作 代码片段 from dask import dataframe as dd import numpy as np import p
  • 使用 Hyper 显示响应正文仅显示正文的大小

    我尝试使用 Hyper 将 URL 的内容 正文 显示为文本 extern crate hyper use hyper client Client use std io Read fn main let client Client new
  • PostgreSQL 将数据库存储在哪里?

    PostgreSQL 数据库的文件存储在哪里 要查看数据目录所在的位置 请使用此查询 show data directory 要查看所有运行时参数 请使用 show all 您可以创建表空间来在文件系统的其他部分存储数据库对象 要查看可能不
  • 删除 Fetch API 默认超时

    我使用 Google Chrome 或 Mozilla Firefox 的本机获取向我的服务器发送查询 fetch url method POST body formData credentials include 我设置了一个服务器在 3
  • 在 ElasticSearch 中返回部分嵌套文档

    我想搜索嵌套文档数组并仅返回符合特定条件的文档 映射示例如下 book properties title type string chapters type nested properties title type string lengt
  • angularjs:只允许在文本框中输入数字

    在 AngularJS 中 是否有任何可用功能只允许在文本框中输入数字like 此代码显示了如何防止输入非数字符号的示例 angular module app directive onlyDigits function return res
  • 问:回调的调用顺序是否与注册的顺序相同?

    我正在使用Q承诺图书馆 我的代码依赖于这样一个事实 单个 Promise 的回调按照注册的顺序执行 http jsfiddle net HgYtK 1 var deferred Q defer var promise deferred pr
  • android:name 中的前导点真的需要吗? [复制]

    这个问题在这里已经有答案了 可能的重复 注册活动时的 点 是什么意思 在所有 Android 示例中 活动 服务等名称均以点开头
  • 查看设备方向是否已锁定(检测是否启用/禁用自动旋转)

    如何查明设备的屏幕方向是否已锁定 我正在使用 OrientationEventListener 来触发我的应用程序内的一些操作 如果用户锁定了屏幕 我想禁用这些操作 我知道我通常可以这样定位 但如何找出这个锁定方向 int orientat
  • 神秘的形式(function(x){})$x

    物体是什么formals function x x 它存在于函数的形式中 绑定到没有默认值的参数 还有其他方法来引用这个奇怪的对象吗 除了表示空函数参数之外 它还有其他作用吗 以下是可以在控制台中检查的一些属性 gt is formals
  • Android 和桌面上 Java 下的 SVG 处理

    我正在尝试编写一个基于 XML 文件生成 SVG 图像的 Java 应用程序 该应用程序还应该能够显示 SVG 文件 我的应用程序应该在 Android 平台和台式电脑上运行 我读到过有关 Swing Batik 的内容 但据我所知 它在
  • Objective-C 中自定义对象的分组

    我有 Person 类的自定义对象数组 Person NSObject NSString firstName NSString lastName NSString age NSMutableArray personsArray NSMuta
  • #在C中定义一个元组

    我希望能够定义一个元组来表示其他宏所需的参数 我认为展示我想要的最好方法是展示一个例子 include
  • 如何将 InMemoryUploadedFile 对象复制到磁盘

    我试图捕获通过表单发送的文件 并在保存之前对其执行一些操作 所以我需要在临时目录中创建该文件的副本 但我不知道如何访问它 Shutil 的函数无法复制该文件 因为没有该文件的路径 那么有没有办法以其他方式执行此操作 我的代码 image f
  • 在 Android 上使用客户端/服务器证书进行双向身份验证 SSL 套接字

    我正在开发一个需要客户端和服务器证书身份验证的 Android 应用程序 我创建了一个 SSLClient 类 该类在常规桌面 Java SE 6 上运行良好 我已将其移至我的 Android 项目中 但收到以下错误 未找到 KeyStor
  • 在 R 包中将非 S3 基本函数重新定义为 S3 函数是一种不好的风格吗?

    所以我正在开发一个使用 S3 类的 R 包 如果我可以使用sample作为我的一门课的方法 然而 base已经声明了sample作为一个非S3功能 所以我想知道的是 重新定义非S3是不是不好的风格base函数如sample作为 S3 功能
  • CSS 过渡与可见性不起作用

    在下面的小提琴中 我分别对可见性和不透明度进行了转换 后者有效 但前者无效 此外 在可见性的情况下 过渡时间被解释为悬停时的延迟 在 Chrome 和 Firefox 中都会发生 这是一个错误吗 http jsfiddle net 0r21
  • 从c++程序调用python进行分发

    我想从我的 C 程序中调用 python 脚本文件 我不确定我将分发给的人是否安装了 python 我想从我的 C 程序中调用 python 脚本文件 这意味着您希望将 Python 嵌入到您的 C 应用程序中 正如中提到的将 Python
  • Jersey:JSON 对象列表

    我试图在我的 Jersey 实现资源类中检索对象的后集合 如下所示 POST Path send Consumes MediaType APPLICATION JSON Produces MediaType APPLICATION JSON