Spring MVC @ResponseBody 返回一个列表

2024-01-09

我们想创建一个“WebService”,它返回特定对象的列表。 我们想通过 apache http 客户端库从另一个 java 程序调用这个 Web 服务。

此时,如果我们从 Firefox 中调用 Web 服务,则会出现 406 错误页面。

我们必须使用 JSON 或 XML 来传输列表吗? 如何做到这一点,以及如何使用 apache http 客户端获取列表?

谢谢。


[EDIT]

唯一有效的是使用 JAXB 注释创建一些实体,以便序列化为 XML。

@XmlRootElement(name = "person")
public class Person {

    private String id;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

}

@XmlRootElement(name = "persons")
public class PersonList {

    @XmlElement(required = true)
    public List<Person> persons;

    public List<Person> getData() {
        return persons;
    }

    public void setData(List<Person> persons) {
        this.persons = persons;
    }

}

@RequestMapping(value = "/hello.html", method = RequestMethod.GET, produces = "application/xml")
@ResponseBody
public ResponseEntity<PersonList> hello() {
    PersonList test = new PersonList();

    List<Person> rep = new ArrayList<Person>();
    Person person1 = new Person();
    person1.setId("1");
    Person person2 = new Person();
    person2.setId("2");

    rep.add(person1);
    rep.add(person2);

    test.setData(rep);
    // return test;

    HttpHeaders responseHeaders = new HttpHeaders();
    List<MediaType> medias = new ArrayList<MediaType>();
    medias.add(MediaType.ALL);
    responseHeaders.setAccept(medias);
    return new ResponseEntity<PersonList>(test, responseHeaders, HttpStatus.OK);
}

我尝试使用 Produce 并直接返回对象,但仍然错误 406。 XML + ResponseEntity 有效。

这很奇怪,因为我看到一个非常简单的例子,其中对象被转换为 json 并出现在网络浏览器中。

所以,现在我必须了解如何获取响应并将 XML 转换为实体......


是的,当您的控制器方法注释为@ResponseBody,Spring将返回的数据转换为JSON http://json.org/.

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

Spring MVC @ResponseBody 返回一个列表 的相关文章

  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • HAProxy SSL终止+客户端证书验证+curl/java客户端

    我希望使用我自己的自签名证书在 HAProxy 上进行 SSL 终止 并使用我创建的客户端证书验证客户端访问 我通过以下方式创建服务器 也是 CA 证书 openssl genrsa out ca key 1024 openssl req
  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • 删除优先级队列的尾部元素

    如何删除优先级队列的尾部元素 我正在尝试使用优先级队列实现波束搜索 一旦优先级队列已满 我想删除最后一个元素 优先级最低的元素 Thanks 没有简单的方法 将元素从原始元素复制到新元素 最后一个除外 PriorityQueue remov
  • 在 Struts 2 中传递 URL 参数而不使用查询字符串

    我想使用类似的 URL host ActionName 123 abc 而不是像这样传递查询字符串 host ActionName parm1 123 parm2 abc 我怎样才能在 Struts 2 中做到这一点 我按照下面的方法做了
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • 为自定义驱动程序创建 GraphicsDevice

    我正在开发一个在嵌入式系统中使用 Java 的项目 我有用于屏幕和触摸输入的驱动程序 以及用于文本输入的虚拟键盘 我的屏幕驱动程序有一个Graphics2D您可以绘制的对象和repaint Rectangle 更新方法 类似地 触摸驱动器能
  • 如何检测图像是否像素化

    之前有人在 SO 上提出过这样的问题 在Python中检测像素化图像 https stackoverflow com questions 12942365 detecting a pixelated image in python还有关于q
  • 使用 Qt 的网络服务

    我正在寻找使用 Qt 服务器端 实现 Web 服务的代码 如果您有任何信息 我将不胜感激 Regards 您可以使用libqxt http libqxt bitbucket org doc 0 6 qxtweb html实现服务器端Web服
  • 如何删除日期对象的亚秒部分

    当 SQL 数据类型为时间戳时 java util Date 存储为 2010 09 03 15 33 22 246 如何在存储记录之前将亚秒设置为零 例如 在本例中为 246 最简单的方法是这样的 long time date getTi
  • 通过 appassembler-maven-plugin 生成的脚本无法在 Spring Boot 应用程序中找到主类

    我使用 appassembler maven plugin 生成的启动脚本有问题 我有一个基本的 spring boot 应用程序 只有一个类 SpringBootApplication public class ScriptDemoApp
  • Play.application() 的替代方案是什么

    我是 Play 框架的新手 我想读取conf文件夹中的一个文件 所以我用了Play application classloader getResources Data json nextElement getFile 但我知道 play P
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • 如何从 Ant 启动聚合 jetty-server JAR?

    背景 免责声明 I have veryJava 经验很少 我们之前在 Ant 构建期间使用了 Jetty 6 的包装版本来处理按需静态内容 JS CSS 图像 HTML 因此我们可以使用 PhantomJS 针对 HTTP 托管环境运行单元
  • 如何从 Spring Boot 中排除依赖项

    我正在使用 Spring Boot 以下是我的 gradle 文件 buildscript ext springBootVersion 2 0 0 BUILD SNAPSHOT repositories mavenCentral maven
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • 何时在 hibernate 中使用 DiscriminatorValue 注解

    在 hibernate 中使用 DiscriminatorValue 注释的最佳场景是什么以及何时 这两个链接最能帮助我理解继承概念 http docs oracle com javaee 6 tutorial doc bnbqn html
  • Java 的 PriorityQueue 与最小堆有何不同?

    他们为什么命名PriorityQueue如果你不能插入优先级 它看起来与堆非常相似 有什么区别吗 如果没有区别那为什么叫它PriorityQueue而不是堆 默认的PriorityQueue是用Min Heap实现的 即栈顶元素是堆中最小的
  • try-with-resources 中出现死代码警告,但翻译后的 try-catch-finally 中没有出现死代码警告

    以下代码使用try 有资源 https docs oracle com javase specs jls se7 html jls 14 html jls 14 20 3Java 8 中引入的构造 偶尔抛出 方法被声明为抛出一个偶尔的异常

随机推荐

  • 将正则表达式应用于子字符串而不使用字符串切片

    我想在较大的字符串中搜索正则表达式匹配从某个位置开始 and 不使用字符串切片 我的背景是我想迭代地搜索字符串以查找各种正则表达式的匹配项 Python 中的一个自然解决方案是跟踪字符串中的当前位置并使用例如 re match regex
  • jquery:检测滚动位置

    我希望在滚动时看到页脚时收到警报 window on mousewheel function if window scrollTop window height gt footer position top alert footer vis
  • T-SQL 是否有用于连接字符串的聚合函数? [复制]

    这个问题在这里已经有答案了 可能的重复 SQL Server 2000中的内爆类型函数 https stackoverflow com questions 534724 implode type function in sql server
  • 将 Whatsapp Markdown 转换为 HTML 标签

    我需要将 Whatsapp markdown 转换为 HTML 标签 Eg Bold to b Bold b Italic to i Italic i 我想使用正则表达式来捕获字符串中的单词 这是链接 包含测试用例 以及我的最佳尝试 htt
  • 为什么loadedmetadata 不能持续触发

    有谁知道为什么loadedmetadata在chrome上不能持续触发 如果您在检查控制台时打开此页面并保持刷新 您将看到只有三分之一会触发 http output jsbin com petefipepa http output jsbi
  • Base64 反序列化期间的空引用异常 (C#)

    我使用以下方法来序列化和反序列化 NET 对象 public static string SerializeToBase64 object data var stream new MemoryStream var formatter new
  • 在lua中使用cURL

    我正在尝试在一个小 lua 脚本中使用curl 库 我知道有一个 k 选项可以禁用curl默认执行的认证验证 但我一直无法找到如何通过代码来做到这一点 到目前为止 这是我所拥有的 local cURL require cURL header
  • 如何设置内置输入(OSX Core Audio / Audio Unit)的输入电平(增益)?

    我有一个 OSX 应用程序 它使用音频单元记录音频数据 音频单元的输入可以设置为任何可用的输入源 包括内置输入 问题是 我从内置输入获得的音频经常被削波 而在 Audacity 甚至 Quicktime 等程序中 我可以调低输入电平 但不会
  • PYTHONPATH 不适用于 GNU/Linux 上的 sudo(适用于 root)

    编辑 适用于 root sudo 是问题所在 参见下文 我有一个包含我自己的库的目录 例如我的 Python 库位于 home name lib py 我已将此目录添加到Python 的路径对于所有用户 包括 root 添加以下行 etc
  • 半音阶乐器调音器的稳健算法? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 谁知道半音阶乐器调音器最强大的算法 我正在尝试编写一个乐器调音器 我尝试过以下两种算法 FFT 创建韦尔
  • 哪个 OpenSSL 版本支持 SHA256?

    我编写了一个 PHP 库 它使用openssl verify and openssl sign 使用 SHA256 我认为 SHA256 支持对于 PHP 和 OpenSSL 来说是一种新功能 但我不知道哪个版本开始支持 SHA256 这会
  • 将逗号分隔的字符串转换为单独的行

    我有一个这样的 SQL 表 SomeID OtherID Data abcdef cdef123 18 20 22 abcdef 4554a24 17 19 987654 12324a2 13 19 20 是否有一个查询可以执行类似的查询S
  • C++ 函数模板编译错误“‘containerType’不是模板”

    我正在尝试编写一个函数来 字符串化 参数以用于记录目的 例如 我想写这样的东西 vector
  • DirectX 或 OpenGL [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 如果您正在用 C 编写下一个 3D 图形密集型应用程序 例如 3D 建模和动画软件 那么哪一个是更好的选择 如果我们认为 C 是独立于平台的 那
  • 如何配置此 Spring-Boot 应用程序以使用 IAM 角色而不是密钥和机密?

    我有一个与 S3 和 SQS 通信的 Spring Boot 应用程序 它使用 AWS 密钥和机密工作得很好 但我发现我有一个限制 因为我不能使用这些凭证 而必须使用 IAM 实例角色进行身份验证 我没有运气让这个微小的改变发挥作用 我创建
  • 消息队列和共享内存的区别?

    我读了很多关于消息队列和共享内存之间差异的文章 但仍不清楚哪一种有利于获得良好的性能 就像共享内存应该比队列更好 但在同步它的情况下也存在性能问题 共享内存和消息队列都可以用来在进程之间交换信息 区别在于how他们被使用了 共享内存正如您所
  • 如何在 Vim 中的 html 标签之间粘贴内容?

    紧迫p将内容粘贴到当前行下方 dit删除 html 标签内的内容 如何在 html 标签内粘贴内容 Nor here p I want to paste something here p Not here 我通常只是这样做vitp它直观地选
  • VS 2010可以自动检查/更新头文件吗?

    这几乎就是我的问题 VS 2010 可以自动检查和更新 C 代码中的头文件吗 VS 2010可以自动从头文件生成cpp文件 从而节省您从头文件复制函数定义的时间吗 我的意思是 它是否可以认为某些方法没有实现 并从头文件中找到的声明生成一个空
  • 量角器可以慢速运行吗?

    有没有办法缓慢运行使用量角器编写的 Angular E2E 测试 以便我可以观察正在发生的情况 以下是我的解决方案 所以基本上我为当前控制流创建了一个装饰器execute函数 现在在每个排队操作之前额外排队 100 毫秒的延迟 这需要在调用
  • Spring MVC @ResponseBody 返回一个列表

    我们想创建一个 WebService 它返回特定对象的列表 我们想通过 apache http 客户端库从另一个 java 程序调用这个 Web 服务 此时 如果我们从 Firefox 中调用 Web 服务 则会出现 406 错误页面 我们