[英]BeanMapping: Replace value in set within mapping expression?
我有一個字符串 Set 我正在映射到一個用於 PDF 表單內容提取的 bean:
@Mapping(target = "targetFieldName", expression = "java(contentMapperService.convertStringToSet(pdfFieldsMap.get(\"PDF_field_name\")))")
假設來自 PDF 字段的輸入字符串是“apple,banana”
如果我們找到值“apple”,我們希望在集合映射到目標之前將其替換為“apples”。
這可以在表達式中完成嗎?
您可以使用您的特定邏輯創建一個方法並在表達式中使用它
因為你沒有提供映射器,以這個為例。
@Mapper(componentModel = "spring")
public abstract class MyMapper {
@Mapping(target = "targetFieldName", expression = "java(setTargetFieldName(source.getPdfFieldName()))")
public abstract Target toTarget(Source source);
protected String setTargetFieldName(String pdf_field_name){
return pdf_field_name.replace("apple", "apples");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.