Java CRest/如何配置为仅接受JSON响应一次

Java CRest/如何配置为仅接受JSON响应一次,java,android,rest,Java,Android,Rest,我使用CRest在Android上反序列化JSON流。我的第一步看起来很有希望 要从服务器获取JSON流,而不是XML流,我使用以下构造: 接受:application/json 这是可行的,但为每个服务复制Param有点烦人。 是否有更好的方法在一个地方配置所有服务,只返回JSON?好吧,恐怕在当前版本中没有任何简单的方法,但是可以在服务器上打开请求 干杯 Laurent我遇到了一个类似的情况,我使用了一个自定义HTTP客户端。在您的情况下,它可能如下所示: DefaultHttpClient

我使用CRest在Android上反序列化JSON流。我的第一步看起来很有希望

要从服务器获取JSON流,而不是XML流,我使用以下构造: 接受:application/json

这是可行的,但为每个服务复制Param有点烦人。
是否有更好的方法在一个地方配置所有服务,只返回JSON?

好吧,恐怕在当前版本中没有任何简单的方法,但是可以在服务器上打开请求

干杯


Laurent

我遇到了一个类似的情况,我使用了一个自定义HTTP客户端。在您的情况下,它可能如下所示:

DefaultHttpClient client = new DefaultHttpClient();
client.addRequestInterceptor(new HttpRequestInterceptor() {
    public void process(HttpRequest request, HttpContext context) throws HttpException, IOException {
        request.addHeader("Accept", "application/json");
    }
});

CRestBuilder builder = new CRestBuilder();
builder.expectsJson();
builder.setRestService(new HttpClientRestService(client));
另一个选项是为自定义HttpClient实例的ClientPNames.default_头设置默认参数。 有关详细信息,请访问

DefaultHttpClient client = new DefaultHttpClient();
client.addRequestInterceptor(new HttpRequestInterceptor() {
    public void process(HttpRequest request, HttpContext context) throws HttpException, IOException {
        request.addHeader("Accept", "application/json");
    }
});

CRestBuilder builder = new CRestBuilder();
builder.expectsJson();
builder.setRestService(new HttpClientRestService(client));