簡體   English   中英

從 SpringBootApplication 中的 ClientResponse 獲取正文

[英]Get body from ClientResponse in SpringBootApplication

我是 spring 引導應用程序的新手。 我想從那里得到字符串的響應。 這是我的代碼。

String accessURL = serverURL + "itim/rest/accesscategories";
        RestClient rc4 = new RestClient(ResourceBuilder.getClientConfig());
        Resource r4 = rc4.resource(accessURL);
        r4.cookie(ltpaToken);
        r4.cookie(jsessionid);
        r4.cookie(csrftoken);
        r4.header("Content-Type", "application/json");
        ClientResponse resp4 = r4.get();

現在我正在這樣做:

System.out.println(resp4.getStatusCode());
        System.out.println(resp4.getStatusType());
        System.out.println(resp4.getHeaders());

我得到了這個回應:

200
OK
CaseInsensitiveMultivaluedMap [map=[Cache-Control=no-cache,no-store,max-age=0,Content- 
Language=en-US,Content-Type=application/vnd.ibm.isim-v1+json,Date=Sat, 24 Apr 2021 02:22:32 
GMT,Expires=Thu, 01 Jan 1970 00:00:00 GMT,Pragma=No-cache,Set- 
Cookie=com.ibm.isim.lastActivity=Bj7WAcMo3apevFKD4JoHyr4iKepdA8AVptb3S7eRM5c%3D; Path=/itim; 
Secure; HttpOnly,Set-Cookie=com.ibm.isim.maxInactive=1800; Path=/itim; Secure,Strict- 
Transport-Security=max-age=31536000; includeSubdomains,Strict-Transport-Security=max- 
age=31536000; includeSubdomains,Transfer-Encoding=chunked,X-FRAME-OPTIONS=SAMEORIGIN]]

如果您使用任何前端框架,請使用 response.getBody() function 或簡單的 response.body。

你可能想做這樣的事情,所以你可以處理 JSON 響應(除非你已經有 JSON 序列化/反序列化,用於在別處設置的 POJO)。

JsonNode body = resp4.bodyToMono( JsonNode.class ).block();

你可以做一些像這樣簡單的測試。

System.out.println( resp4.bodyToMono( String.class ).block() );

查看ClientResponseMono<T>的文檔以獲取更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM