【发布时间】:2017-11-07 05:09:41
【问题描述】:
我有一个简单的端点如下:
@RequestMapping("/foo")
public Foo[] getFoo() {
List<Foo> list = new ArrayList<>();
list.add(new Foo("bar"));
list.add(new Foo("baz"));
list.add(new Foo("bat"));
return list.toArray(new Foo[list.size()]);
}
当我使用 curl 向此端点发送请求时,如下所示:
curl -i -H "Accept: application/xml" localhost:8080/foo
输出是这样的:
<Foos>
<item>
<name>bar</name>
</item>
<item>
<name>baz</name>
</item>
<item>
<name>bat</name>
</item>
</Foos>
有没有办法指示 Spring Boot 将项目更改为 Foo 类的名称?
这是 Foo 类:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Foo {
private String name;
public Foo() {
}
public Foo(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
同一端点和类的球衣输出所需的格式(Foo 而不是 item)。如何在不更改 Foo 类的情况下在 spring mvn 中实现这一点?
这是所需的 xml 输出:
<Foos>
<Foo>
<name>bar</name>
</Foo>
<Foo>
<name>baz</name>
</Foo>
<Foo>
<name>bat</name>
</Foo>
所以基本上我希望能够在不修改 Foo 类的情况下控制元素的名称。
【问题讨论】:
-
您能否在
xml中添加所需的输出,这样更容易理解您的目标是什么。谢谢。 -
@lazarov 查看更新后的问题。
标签: xml spring-boot jaxb jersey