編集:
これは Jettison のバグのようです。org.apache.cxf.jaxrs.provider.json.JSONProvider は、この問題の原因となった Jettison を使用します。Jackson providerを使用すると、この問題はなくなります。
以下を jaxrs:server の下の beans.xml に追加します。
<jaxrs:providers>
<ref bean="jacksonProvider" />
</jaxrs:providers>
.
そして、ルートの子として直接以下を実行します。
<bean id="jacksonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider">
</bean>
JSON 仕様に従って、数値を値として使用できます。その抜粋は次のように述べています。
2.1. 値
JSON 値は、オブジェクト、配列、数値、文字列、または次の 3 つのリテラル名のいずれかでなければなりません:
false null true
仕様に記載されている例を次に示します。
{
"Image": {
"Width": 800,
"Height": 600,
"Title": "View from 15th Floor",
"Thumbnail": {
"Url": "http://www.example.com/image/481989943",
"Height": 125,
"Width": "100"
},
"IDs": [116, 943, 234, 38793]
}
}
実際に文字列が必要な場合は、おそらくリソース クラスと関連する Bean クラスを調べて、フィールド タイプが正しいことを確認します。