阔叶Sku Object中的SkuAttributes没有得到响应

时间:2018-07-24 16:31:55

标签: broadleaf-commerce

在阔叶中,我可以看到该SKU包含skuAttributes。但是,当我尝试使用端点/catalog/product/{id}..调用产品信息时,看不到api响应中出现skuAttributes。如何获得这些sku属性值作为响应的一部分?

1 个答案:

答案 0 :(得分:0)

您将需要在SkuWrapper类中覆盖@Configuration bean。示例:

@Configuration
public class ApiWrapperOverrides {

    @Bean
    @Scope("prototype")
    public MySkuWrapper blSkuWrapper() {
        return new MySkuWrapper();
    }
}

public class MySkuWrapper extends SkuWrapper {

    @XmlElement(name = "skuAttribute")
    @XmlElementWrapper(name = "skuAttributes")
    protected List<SkuAttributeWrapper> skuAttributes = new ArrayList<>();

    @Override
    public void wrapDetails(Sku model, HttpServletRequest request) {
        super.wrapDetails(sku, request);
        if (model.getSkuAttributes() != null && !model.getSkuAttributes().isEmpty()) {
            for (Map.Entry<String, SkuAttribute> entry : model.getSkuAttributes().entrySet()) {
                wrapper.wrapSummary(entry.getValue(), request);
                skuAttributes.add(wrapper);
            }
        }
    }
}