замените пустое значение в ответе json и снова конвертируйте его в json - PullRequest
0 голосов
/ 26 июня 2018

** выход: =========== >>>>

"status": "success",
"messages": {
    "01010000": "Data available"
},
 "data": {
   "result": [
      {
        "issuerName": "AXIS BANK LIMITED",
        "totalIssuerLimit": "55,000,000,000.00",
        "issuerLimitUtilised": "0",
        "issuerLimitAvailable": "55,000,000,000.00",
        "issue": "INE238A08302",
        "totalIssueLimit": "2,000,000,000.00",
        "issueLimitUtilised": "0",
        "issueLimitAvailable": "2,000,000,000.00"
       },
      {
          "issuerName": null,
          "totalIssuerLimit": null,
          "issuerLimitUtilised": null,
          "issuerLimitAvailable": null,
          "issue": "INE238A08344",
          "totalIssueLimit": "50,000,000,000.00",
          "issueLimitUtilised": "0",
          "issueLimitAvailable": "50,000,000,000.00"
    },**

замените пустое значение в ответе json и снова преобразуйте его в json

public Response limitAvailability(String dataTransportFormat) throws Exception {
    logger.info("limitAvailability service");
    logger.info("dataTransportFormat: " + dataTransportFormat);

    Response response = null;
    try {
        Map<String, Object> uriVariables = new HashMap<>();
        uriVariables.put("dataTransportFormat", dataTransportFormat);


        /* System.out.println("url"+webServiceProperties.getUrls().get(MARGINS_TPR) + URL_SEGMENTS_SEPARATOR
            + webServiceProperties.getEndpoints().get(COLLATERAL_DETAILS)); */
        response = genericRestConsumer.exchange(
            webServiceProperties.getUrls().get(MARGINS_TPR) + URL_SEGMENTS_SEPARATOR
                            + webServiceProperties.getEndpoints().get(LIMIT_AVAILABILITY),
                    HttpMethod.GET, uriVariables);
        System.out.println("response-----------"+response);
        System.out.println("uriVariables-----------"+uriVariables);

        logger.info("limitAvailability data response: " + response);
    } catch (Exception e) {
        logger.error("Exception", e);
        throw e;
    }

    return response;
}

1 Ответ

0 голосов
/ 26 июня 2018

Просто создайте метод в контроллере и замените все null пустыми строками (например, для класса Person здесь)

@Override
public void serialize(Person value, JsonGenerator jgen, SerializerProvider provider) 
  throws IOException, JsonProcessingException {
        jgen.writeStartObject();
        jgen.writeStringField("name", value.name);
        if (value.first == null) {
            jgen.writeStringField("first", ""); 
        }else{
            jgen.writeStringField("first", value.first);
        }
        if(value.last == null){
            jgen.writeStringField("last", "");
        }else{
            jgen.writeStringField("last", value.last);
        }
        jgen.writeEndObject();
    }
}

А потом по вашему классу сущности

@JsonSerialize(using = PersonSerializer.class)
public class Person {
    //First/Last name etc
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...