我只需要提供输入名称作为WorkflowCloneRequestDTO类中的名称,并且所有实例都需要自己复制。我正在尝试通过已存在的URL发布邮递员的姓名和ID。
但数据未克隆。我不明白问题出在哪里
这是控制器类:
@PostMapping("{id}/duplicate")
@ResponseBody
public WorkflowViewDTO duplicateWorkFlow(@PathVariable Long id,@RequestBody @Valid WorkflowCloneRequestDTO cloneRequest,BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
throw new ControllerException(bindingResult,Constants.INPUT_VALIDATION_ERROR);
}
return workFlowService.cloneWorkflow(id,cloneRequest);
}
这是服务类别:
public WorkflowViewDTO cloneWorkflow(Long id,WorkflowCloneRequestDTO workflowCloneRequestDTO) {
Workflow workflow = workflowDAO.findById(id);
if (workflow == null) throw new ServiceException(ErrorEnum.WORKFLOW_NOT_FOUND);
Workflow duplicateWorkFlow = SerializationUtils.clone(workflow);
duplicateWorkFlow.setId(null);
//duplicateWorkFlow.setId(null);
duplicateWorkFlow.setName(workflowCloneRequestDTO.getName());
duplicateWorkFlow.setIsactive(true);
duplicateWorkFlow = workflowDAO.save(duplicateWorkFlow);
return duplicateWorkFlow.getView(WorkflowViewDTO.class);
}