首页 > 解决方案 > 在休息控制器中验证 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           
       ) {

}

}

标签: javavalidation

解决方案


推荐阅读