用途:为实体与 DTO 之间生成映射器,可选 MapStruct(接口/抽象类,带 @Mapper/@Mapping)或自定义转换器(Custom,静态方法)。属于 Spring Agent Toolkit,配合 Amplicode IntelliJ 插件提供的 Spring MCP 服务器工作,MCP 工具以 amplicode 或 mcp__amplicode__ 前缀暴露(如 get_project_summary、list_module_dependencies、get_entity_details)。若工具列表中没有任何 Amplicode 工具,则需先调用 amplicode-install 技能安装插件,并按提示在 IntelliJ IDEA Ultimate/Community 或 GigaIDE 中打开项目、点击欢迎页「Настроить Spring Agent」并重启 MCP 客户端;若该技能未注册,则提示用户从 https://amplicode.ru/marketplace 安装。
主要能力与默认:实体与 DTO 为必问项;mapperType 默认 MapStruct;className 默认 {EntityName}Mapper;packageName 默认与 DTO 同包;parentInterface 默认 null;language 由 get_project_summary 自动判定;componentModel 在依赖含 Spring 时为 SPRING,否则 DEFAULT(CDI 不自动检测);partialUpdate、updateWithNull 默认 no,仅 partialUpdate=yes 时可选 SET_TO_NULL/IGNORE/SET_TO_DEFAULT;dtoIsRecord 默认 false。
使用方式:先读对话上下文,避免重复提问;再用 get_project_summary 与 list_module_dependencies 收集最小项目信息;对已有实体/DTO 并行调用 get_entity_details 与 list_class_members;按类型与语言读取 references 下对应文件(mapstruct-java、mapstruct-kotlin、custom-java、custom-kotlin)与 mapping-annotations,从 examples/_skeletons 与 _fragments 取骨架和片段,做变量替换并写文件;生成时须把 FQN 替换为短名并补 import。优先用 AskUserQuestion 收集选择题,自由文本才用纯文本提问。
限制:代码只允许来自 examples/ 文件,无匹配示例应停止并询问用户;不得添加示例中不存在的 import、方法或代码;不得替换未列出的变量。资料未提供具体版本、收费、仓库结构等细节。