У меня есть Java-бин, который я использую в качестве тела запроса в моем контроллере rest. У меня есть валидатор также для этого. но когда я нажимаю на контроллер с вводом xml, валидатор не выполняется.
// Класс бина для тела запроса
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ITEM")
public class DecimaItemReq {
@XmlAttribute(name = "ITEMID")
private long itemId;
@XmlAttribute(name = "NAME")
private String name;
@XmlAttribute(name = "NAMEARB")
private String nameARB;
@XmlAttribute(name = "DESCRIPTION")
private String description;
@XmlAttribute(name = "DESCRIPTIONARB")
private String decsriptionARB;
@XmlAttribute(name = "PRICE")
private String price;
@XmlAttribute(name = "STOREIDs")
private String storeIds;
@XmlAttribute(name = "STARTTIME")
private String startTime;
@XmlAttribute(name = "ENDTIME")
private String endTime;
@XmlAttribute(name = "SUBMENUID")
private String subMenuId;
@XmlAttribute(name = "CategoryID")
private String categoryId;
@XmlAttribute(name = "ITM_AVAILABLITYSTATUS")
private String itemAvailablityStatus;
@XmlAttribute(name = "IsCombo")
private String isCombo;
@XmlAttribute(name = "VGroupId")
private String vGroupId;
@XmlAttribute(name = "DoughType")
private String doughType;
@XmlAttribute(name = "Size")
private String size;
@XmlAttribute(name = "IsHalf")
private String isHalf;
@XmlAttribute(name = "Selector")
private String selector;
@XmlAttribute(name = "Seq")
private String seq;
}
Мой класс контроллера приведен ниже.
открытый класс DecimaAddUpdateItemControllerV1 {
private final String MODEL_ITEM_ADD_UPDATE = "DecimaItemReq";
@InitBinder(MODEL_ITEM_ADD_UPDATE)
protected void initBinder(WebDataBinder binder) {
binder.setValidator(new DecimaItemReqValidator());
}
@RequestMapping(value = "/AddItems", method = { RequestMethod.PUT, RequestMethod.POST })
public ResponseEntity<String> addItems(
@Valid @RequestBody DecimaItemsReq itemsReqBody
) {
}
}