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