簡體   English   中英

BeanMapping:在映射表達式中替換集合中的值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM