Post запрос с исключенными полями XML

81
18 июня 2021, 21:30

Такая проблема. У меня на пост запрос приходит String с xml.

<Message>
        <Recipients>
        </Recipients>
        <Substitutions></Substitutions>
        <Attachments></Attachments> 
        <Links></Links>
        <MessageSubject></MessageSubject>
        <MessageText></MessageText>
    </Message>

можно ли как то "оформить" Класс описывающий Message в java так чтобы можно было посылать сокращенный XML без полей и запрос не ломался.

например я послал вот такой запрос без половины полей и запрос бы не сломался.

<Message>
            <Links></Links>
            <MessageSubject></MessageSubject>
            <MessageText></MessageText>
        </Message>

класс оформлен сейчас так

@XmlRootElement(name = "Message")
@XmlAccessorType(XmlAccessType.FIELD)
public class Message implements Serializable {
    @XmlElement(name="Recipients")
    private Recipients recipients;
    @XmlElementWrapper(name = "Substitutions")
    @XmlElement(name="substitution")
    private ArrayList<Substitution> substitutions = new ArrayList<Substitution>();;
    @XmlElementWrapper(name = "Attachments")
    @XmlElement(name="attachment")
    private ArrayList<Attachment> attachments = new ArrayList<Attachment>();
    @XmlElementWrapper(name = "Links")
    @XmlElement(name="link")
    private ArrayList<Link> links = new ArrayList<Link>();
    private String MessageSubject;
    private String MessageText;
конструкторы, геттеры и сеторы
}
Answer 1

Если Вы пришлёте сокращенный вариант, у Вас просто недостающие поля будут не заданы - никаких проблем не должно быть. Если у Вас есть проверка входящего XML, то менять надо ее, а не модель.

READ ALSO
javascript var/let

javascript var/let

я недавно начал изучать джси вот возник такой вопрос

119
Вывод значения при создании класса в JS [дубликат]

Вывод значения при создании класса в JS [дубликат]

столкнулся с задачей и никак не могу сообразить как правильно реализовать класс

98
Добавление метода к переменной с помощью записи &#171;через точку&#187; создает в обьекте новое свойство?

Добавление метода к переменной с помощью записи «через точку» создает в обьекте новое свойство?

Насколько я понял запись через точку означает, что к объекту добавляем какое-то свойство с определенным значением:

86
Функция рандомного числа с исключением предыдущих результатов

Функция рандомного числа с исключением предыдущих результатов

Как написать функцию выбора рандомного числа, в которой исключались бы результаты предыдущих срабатываний? Создать отдельный массив с результатами...

92