java - 在休息控制器中验证 XML 绑定的 Java bean
问题描述
我有一个 java bean,我在我的休息控制器中用作请求主体。我也有一个验证器。但是当我用 xml 输入点击控制器时,验证器没有被执行。//请求体的Bean类
@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
) {
}
}