Получение org.springframework.http.converter.HttpMessageNotReadableException: ошибка синтаксического анализа JSON: пусто при передаче пустого значения в запросе JSON. - PullRequest
0 голосов
/ 27 сентября 2019

Я разработал REST-сервис, используя Spring boot (2.1.6.RELEASE).Мой код работает нормально, если "field" отсутствует в запросе или field = "" во входном запросе.Но если я передаю filed = null, во входном запросе я получаю следующую ошибку: "[org.springframework.http.converter.HttpMessageNotReadableException: JSON error parse: null; вложенное исключение - com.fasterxml.jackson.databind.JsonMappingException:Н / Д в [Source: (PushbackInputStream); строка: 16, столбец: 19] (через цепочку ссылок: com.abnamro.ecm.ddg.dto.DocumentMetadata ["subjectEN"])] "

//@JsonIgnoreProperties(ignoreUnknown = true)
public class DocumentMetadata {

@Pattern(regexp = "[0-9 ]+", message = "DocumentType must be a number.")
private String documentType;

@Pattern(regexp = "[0-9 ]+", message = "ExpiryDate must be a number.")
private String expiryDate;

private String bankmailFromAddress;

@NotBlank(message = "SubjectLnCode is a mandatory field.")
@Pattern(regexp = "01|02 ?", message = "Language code can either be 01 or 02.")
private String subjectLnCode;

private String bankmailAddressNameFrom;

@Pattern(regexp = "[0-9 ]+", message = "MessageType must be a number.")
private String messageType;

@NotNull(message = "content is a mandatory field.")
private byte[] content;

private String replyAllowed;

private String activeIBCheck;

@NotBlank(message = "BCDBNumber is a mandatory field.")
@Pattern(regexp = "[0-9 ]+", message = "BCDBNumber must be a number.")
private String dqBCDBNumber;

private String sender;

private String subject;
private String subjectNL;
private String subjectEN;

@NotNull(message = "whoSplit is a mandatory field.")
@Valid 
private MsecUser[] whoSplit;

/**
 * Default constructor to initialise with default values. 
*/
public DocumentMetadata() {
    this.documentType = DDGConstants.BML_DOCUMENT_TYPE_DEFAULT_VALUE;
    this.expiryDate = DDGConstants.EXPIRY_DATE_ADD_DAYS;
    this.bankmailFromAddress = DDGConstants.BML_FROM_ADDRESS_DEFAULT;
    this.messageType = DDGConstants.BML_MESSAGE_TYPE_DEFAULT_VALUE;
    this.replyAllowed = DDGConstants.BML_REPLY_ALLOWED_DEFAULT_VALUE;
    this.sender = DDGConstants.BML_SENDER_DEFAULT_VALUE;
    this.bankmailAddressNameFrom = DDGConstants.DEFAULT_LEGAL_NAME;
}

 // getters and setters

}

Я пытался использовать аннотацию @JsonIgnore для исключения пустых полей, но это не помогло.Подскажите, пожалуйста, как решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...