我尝试编写apache cxf rest应用,我需要在浏览器中获取XML或JSON响应,具体取决于请求,但是我仅获取XML,还需要配置什么?
配置类:
public class RestfulServer {
public static void main(String args[]) throws Exception {
JAXRSServerFactoryBean factoryBean = new JAXRSServerFactoryBean();
factoryBean.setResourceclasses(ServiceImpl.class);
factoryBean.setResourceProvider(new SingletonResourceProvider(new ServiceImpl()));
//-------------------------------------------------------------
Map<Object,Object> extensionmappings = new HashMap<Object,Object>();
extensionmappings.put("xml",MediaType.APPLICATION_XML);
extensionmappings.put("json",MediaType.APPLICATION_JSON);
factoryBean.setExtensionmappings(extensionmappings);
List<Object> providers = new ArrayList<Object>();
providers.add(new JAXBElementProvider<Object>());
providers.add(new JacksonJsonProvider());
factoryBean.setProviders(providers);
//-------------------------------------------------------------
factoryBean.setaddress("http://localhost:8080/");
Server server = factoryBean.create();
System.out.println("Server ready...");
Thread.sleep(5*60*1000);
System.out.println("Server exiting");
server.destroy();
system.exit(0);
}
}
在服务类中,我具有以下注释:
@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
public interface IService {
以及pom.xml中的依赖项:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>1.9.13</version>
</dependency>
但是结果只是-> XML。
请给我一些建议。