Java RESTEasy-如何设置代理类的表示

Java RESTEasy-如何设置代理类的表示,java,rest,jax-rs,resteasy,Java,Rest,Jax Rs,Resteasy,我使用RESTEasy设置了一个客户端代理类: ResourceIF resource = ProxyFactory.create(resourceIF.class, PATH, clientExecutor); 当我调用 ClientResponse res = (ClientResponse) resource.getObject(); 我的界面如下所示: @GET @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATI

我使用RESTEasy设置了一个客户端代理类:

 ResourceIF resource = ProxyFactory.create(resourceIF.class, PATH, clientExecutor);
当我调用

 ClientResponse res = (ClientResponse) resource.getObject();
我的界面如下所示:

 @GET
 @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
 public Response getObject()

我自动得到一个XML表示。如何将其设置为JSON?这仅仅是为了声明一个新的只支持JSON的接口吗?

您必须添加一个MediaTypeInterceptor,如下所示:

    ClientExecutor executor=ClientRequest.getDefaultExecutor();
    ResteasyProviderFactory factory=ResteasyProviderFactory.getInstance();
    InterceptorRegistry<ClientExecutionInterceptor> registry=factory.
        getClientExecutionInterceptorRegistry();
    registry.register(new MediaTypeInterceptor("application/json"));
    ResourceIF resource = ProxyFactory.create(ResourceIF.class,PATH,executor,factory);
ClientExecutor executor=ClientRequest.getDefaultExecutor();
ResteasyProviderFactory=ResteasyProviderFactory.getInstance();
InterceptorRegistry注册表=工厂。
getClientExecutionInterceptorRegistry();
register(新的MediaTypeInterceptor(“application/json”);
ResourceIF resource=ProxyFactory.create(ResourceIF.class、PATH、executor、factory);