4
我有以下响应通过CXF使用JAX-RS创建:如何从CXF/JAX-RS中的JSON响应中删除命名空间前缀?
{"ns1.CustomerInformationResponse":{
"@xsi.type":"ns1:CustomerInformationResponse",
"ns2.code":"SUCCESS",
"ns1.customer":{
"@xsi.type":"ns2:CustomerBaseDTO",
"ns2.login":"login1"
}
}}
这里是我当前上下文配置的相关部分:
<jaxrs:server address="http://${host}:${port}/rest/customer">
<jaxrs:serviceBeans>
<ref bean="customerManagementServiceImpl" />
</jaxrs:serviceBeans>
<jaxrs:providers>
<bean class="org.apache.cxf.jaxrs.provider.AegisJSONProvider" />
</jaxrs:providers>
</jaxrs:server>
我希望收到像一个答复上面没有名称空间前缀(即ns1,ns2等)。
我试图添加org.apache.cxf.interceptor.transform.TransformOutInterceptor
到cxf:outInterceptors
,但它没有帮助。
此外,您可以使用'attributesToElements'属性删除'@'字符加在从XML属性创建的JSON属性。 –
我认为我找到了最好的解决方案后在网上搜索了几个小时..谢谢你们。 – Arundev