在springboot应用程序中从clientresponse获取主体

9ceoxa92  于 2021-07-12  发布在  Java
关注(0)|答案(2)|浏览(272)

我对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]]
kt06eoxx

kt06eoxx1#

使用response.getbody()函数,如果您使用的是任何前端框架,则只需使用response.body即可。

wnrlj8wa

wnrlj8wa2#

您可能希望这样做,这样就可以处理json响应(除非您已经在别处为pojo设置了json序列化/反序列化)。

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

你可以做一些简单的测试。

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

看一下文档 ClientResponse 以及 Mono<T> 更多细节。

相关问题