Я разработал 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 для исключения пустых полей, но это не помогло.Подскажите, пожалуйста, как решить эту проблему.