You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey Novikov (JIRA)" <ji...@apache.org> on 2017/08/10 11:02:00 UTC

[jira] [Commented] (IGNITE-6013) Web agent: refactor processing response from cluster

    [ https://issues.apache.org/jira/browse/IGNITE-6013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16121461#comment-16121461 ] 

Andrey Novikov commented on IGNITE-6013:
----------------------------------------

Hi [~kuaw26],
I think will be better to create generic deserializer for such fields and bind it using annotation JsonDeserialize. What do you think about this?

> Web agent: refactor processing response from cluster
> ----------------------------------------------------
>
>                 Key: IGNITE-6013
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6013
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexey Kuznetsov
>            Assignee: Andrey Novikov
>             Fix For: 2.2
>
>
> RestExecutor.sendRequest() contain following code:
> {code}
> ....
>         try (Response resp = httpClient.newCall(reqBuilder.build()).execute()) {
>             String content = resp.body().string();
>             if (resp.isSuccessful()) {
>                 JsonNode node = mapper.readTree(content);
> .... 
> {code}
> Problems: 
> # String content = resp.body().string(); >> Generate not needed String.
> # JsonNode node = mapper.readTree(content);  >> Generates a big tree of JsonNodes
>  
> Could be fixed like:
> RestResponseHolder res = MAPPER.readValue(resp.body().byteStream(), RestResponseHolder.class); 
> Where for RestResponseHolder should also created optimized RestResponseHolderDeserializer that will extract response as String without building tree of JsonNodes.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)