как проводить валидацию xml используя jaxb?

266
03 января 2020, 04:10

Приложение на spring + jaxb

jaxb разбирает входящую xml и парсит ее в объект перед вызовом методов контроллера. Затем jaxb модель преобразую в строку и прогоняю через валидатор с использованием xsd.

Как настроить валидацию jaxb так, чтобы он не по своей неведомой схеме валидировал поля перед тем как их распарсить в объект, а по моей xsd, которую я ему подсуну.

контроллер:

  @RequestMapping(value = "/users", method = RequestMethod.POST,
            consumes = {"application/xml"}, produces = {"application/xml"})
    public String add(@RequestBody user user,
                      @RequestParam(value = "id", required = false) String id) {
        String result =  service.add(id, user);
        return result;
    }

jaxb молель:

import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@XmlRootElement(name = "User")
@XmlAccessorType(XmlAccessType.FIELD)
public class User implements Serializable {
    @XmlElement(name = "id")
    @Size(max = 36)
    private String id;
    @Size(max = 1024)
    @XmlElement(name = "Value", required = true)
    private String value;
    @Size(max = 5)
    @XmlElement(name = "Type", required = true)
    private String type;
    @Size(max = 25)
    @XmlElement(name = "name", required = true)
    private String name;
    @XmlElement(name = "date", required = true)
    private String date;
    @Size(max = 25)
    @XmlElement(name = "name", required = true)
    private String name;
}
READ ALSO
инициализировать Aspect через AspectJProxyFactory

инициализировать Aspect через AspectJProxyFactory

У меня есть аспект, который затрагивает всю систему, но мне нужно в определенный момент его использовать

190
Растянуть TextField по высоте в List

Растянуть TextField по высоте в List

Отчет в области detailсостоит из текстового поля (2) и списка с полями (3, 4, 5, 6)При переполнении поля 2 соответственно поля списка то же должны растянуться,...

263
Spring. JpaRepository. Использование запроса из файла query.sql

Spring. JpaRepository. Использование запроса из файла query.sql

Есть sql запрос в 14 строчекСейчас использую JpaRepository без

242
Медиа запросы не работают

Медиа запросы не работают

Здраствуйте! У меня появилась проблема - медиа запросы на опен сервере не работаютНо если я этот код запущу черерз гугл хром или codepan - всё...

191