Отправить JSON в запросе без обратной косой черты - PullRequest
0 голосов
/ 03 декабря 2018
{
  "creditRiskData": "{\"externalQueryDate\":\"4018-11-23T19:13:19.392+03:00\"}",
  "identityTypeCode": "TTN",
  "identityValue": "9999999998"
}

это мой запрос, который я могу отправить в swagger, но без обратной косой черты он выдает ошибку.

Я использую objectmapper для анализа JSON после получения запроса:

 private LocalDate getExternalQueryDate(String creditRiskData) throws IOException {

        return objectMapper.readValue(creditRiskData, CreditRiskDataDTO.class).getExternalQueryDate();

    }

это класс для анализа, чтобы иметь возможность получить JSON в переменную:

public class CreditRiskDataDTO {

    private LocalDate externalQueryDate;

    public LocalDate getExternalQueryDate() {
        return externalQueryDate;
    }

    public void setExternalQueryDate(LocalDate externalQueryDate) {
        this.externalQueryDate = externalQueryDate;
    }
}

Из внешнего интерфейса javascript отправляет без обратной косой черты.Примерно так:

{
  "creditRiskData": "{"externalQueryDate":"4018-11-23T19:13:19.392+03:00"}",
  "identityTypeCode": "TTN",
  "identityValue": "9999999998"
}

но swagger выдает эту ошибку:

"fault": {
    "objectErrors": [
      {
        "objectName": "",
        "message": "JSON parse error: Unexpected character ('e' (code 101)): was expecting comma to separate Object entries; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character ('e' (code 101)): was expecting comma to separate Object entries\n at [Source: (PushbackInputStream); line: 2, column: 25]"
      }

Есть ли способ решить эту проблему?Отправка без обратной косой черты?

Например, когда я получаю данные из get method, выдается следующее:

"{\"externalQueryDate\":\"5018-11-23\",

с обратной косой чертой.Но в базе данных Mysql она не имеет обратной косой черты.Но Swagger показывает с обратной косой чертой.

Это получить:

 CreditRisk creditRisk = creditRiskDataRepository.findByOrganisationId(organisation.getId());


            return creditRisk != null ? creditRisk.getCreditRiskDataCodeBased() : null;

Когда я отправляю это:

   {
  "creditRiskData": {"externalQueryDate":"4018-11-23T19:13:19.392+03:00"},
  "identityTypeCode": "TTN",
  "identityValue": "9999999997"
}

, это дает эту ошибку

 "fieldErrors": [
      {
        "filterName": "creditRiskInformationCodeTermBasedRequest.identityTypeCode",
        "errorCode": "NotEmpty",
        "objectName": "creditRiskInformationCodeTermBasedRequest",
        "message": "must not be empty",
        "variables": [],
        "fieldName": "identityTypeCode"
      },
      {
        "filterName": "creditRiskInformationCodeTermBasedRequest.identityValue",
        "errorCode": "NotEmpty",
        "objectName": "creditRiskInformationCodeTermBasedRequest",
        "message": "must not be empty",
        "variables": [],
        "fieldName": "identityValue"
      }
    ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...