0

我有来自 dhl 的 api 的问题,我从 dhl 创建 GET api,当在控制台中打印时,结果将打印,但是当使用浏览器时,我得到如下响应:

com.squareup.okhttp.internal.http.RealResponseBody@68bd3d26

这是我的代码:

@RequestMapping("/getData")
public String getAcc() throws IOException
{


        OkHttpClient client = new OkHttpClient();
        MediaType mediaType = MediaType.parse("application/json");

        HttpUrl httpUrl = new HttpUrl.Builder()
                .scheme("https")
                .host("api-eu.dhl.com")
                .addPathSegment("track")
                .addPathSegment("shipments")
                .addQueryParameter("trackingNumber", "cencored")
                .addQueryParameter("service", "express")
                .build();

        Request request = new Request.Builder()
                .addHeader("content-type", "application/json")
                .addHeader("Connection", "close")
                .addHeader("DHL-API-Key", "cencored")
                .addHeader("ConsumerKey", "cencored")
                .addHeader("ConsumerSecret", "cencored")
                .removeHeader("Content-Encoding")
                .removeHeader("Content-Length")
                .url(httpUrl) // <- Finally put httpUrl in here
                .build();
      response = client.newCall(request).execute();
        System.out.println(response.body().string());
    return this.response.body().toString();
}
4

1 回答 1

0

解决了......这很奇怪,但为我工作。所以我们不能调用“response.body().string();” 两次。

于 2021-02-17T10:26:09.450 回答