我有一个简单的终点如下:
curl -i -H "Accept: application/xml" localhost:8080/foo
当我使用curl向此端点发送请求时,如下所示:
<Foos>
<item>
<name>bar</name>
</item>
<item>
<name>baz</name>
</item>
<item>
<name>bat</name>
</item>
</Foos>
输出如下:
@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;
}
}
有没有办法指示spring boot将项目更改为Foo类的名称?
这是Foo类:
<Foos>
<Foo>
<name>bar</name>
</Foo>
<Foo>
<name>baz</name>
</Foo>
<Foo>
<name>bat</name>
</Foo>
Jersey为相同的端点和类输出所需的格式(Foo而不是item)。如何在不更改Foo类的情况下在spring mvn中实现这一点?
这是所需的xml输出:
{{1}}
所以基本上我希望能够在不修改Foo类的情况下控制元素的名称。
答案 0 :(得分:0)
也许试试:
@XmlRootElement(name="Foos")
public class GetFooResponse{
private List<Foo> someList;
@XmlElement(name="Foo")
public List<Foo> getSomeList() {
return someList;
}
public void setSomeList(List<Foo> someList) {
this.someList = someList;
}
public GetResponse(List<Foo> someListValue) {
this();
this.someList = someListValue;
}
/**
*
*/
public GetResponse() {
// TODO Auto-generated constructor stub
}
}
这可能会生成您想要的输出。您必须从Foo[]
- &gt;替换方法的返回类型。 GetFooResponse
。