RESTEasy を使用して RESTful Web サービスを作成し、HashMap を含む応答を作成しようとしています。Web サービスは、JSON または XML のいずれかを生成します。JSON マップは正しいですが、XML マップにはコンテンツがありません。RESTEasy @WrappedMap アノテーションは、マップを XML にマーシャリングすることになっています。
@XmlRootElement(name="Response")
public class RootResponse {
private HashMap<String, String> test;
public RootResponse() {
test = new HashMap<String, String>();
test.put("Fred", "Wilma");
test.put("Barney", "Betty");
}
@XmlElement
@WrappedMap(map="test", key="name", entry="spouse")
public HashMap<String, String> getTest() {
return this.test;
}
}
JSON 出力:
{
"test": {
"Fred": "Wilma",
"Barney": "Betty"
}
}
XML 出力:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response>
<test/>
</Response>
@WrappedMap アノテーションを省略すると、同じ出力が得られます。
@WrappedMap はプロパティに対して機能しませんか?