我正在尝试根据某些请求条件获取产品数据。当我使用转换器和填充器将产品模型转换为产品数据时,我得到了所有产品数据作为响应。
我曾尝试在将产品模型数据转换并填充到产品数据时设置字符串值,但它没有帮助!!
{
"products": [
{
//Getting from Product Model
"name" : "ABC"
"desc" : "abcde"
"Quantity": 2"
//Not from Product Model
"matcode" : "001100"
},
]
}
是否可以在同一响应中再设置一个字符串值(String matcode ="ABC"
)?
最佳答案
理想情况下,如果您在 ProductData 中正确设置了 matcode
(属性),它将反射(reflect)在响应中
通过在 *beans.xml
中声明它来消除 ProductData 中的 matcode 属性,例如。
<bean class="de.hybris.platform.commercefacades.product.data.ProductData">
<!-- other attributes -->
<property name="matcode" type="java.util.Set<java.lang.String>"/>
</bean>
现在在 populator 中,设置 matcode
属性值即可完成。调试您的 Controller 并查看产品数据中是否存在您的自定义属性值。如果存在,那么它将正确转换为 JSON。
@Override
public void populate(final SOURCE productModel, final TARGET productData) throws ConversionException
{
//... other codes
productData.setMatcode("001100"); // add your logic to set this value
}
关于java - 如何在 ProdctData JSON 中填充自定义属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56591903/