这在一个称为资源的类中。我不确定它的作用,需要帮助以了解它。 trainingDTO有一个UUID和一个Item。
if (this.toDoList.addItem(trainingDto.getItem())) {
return Response.status(200).build();
TrainingDTO returnDTO = new TrainingDTO();
returnDTO.setItem(trainingDto.getItem());
UUID uuid = toDoList.findUUIDByValue(trainingDto.getItem());
returnDTO.setUUID(uuid.toString());
return Response.ok(returnDTO).build();
}
答案 0 :(得分:0)
解释此块有些困难,原因有两个。 1.)您没有给我们太多上下文:即,我们没有包含该块的方法或任何其他周围的代码。 2.)此方法有一些奇怪的代码。话虽这么说,让我们逐行进行:
if (this.toDoList.addItem(trainingDto.getItem())) {
此if
条件有点复杂,因为addItem()
显然不仅仅返回布尔值。通常,这被认为是不好的形式(方法应该只做一件事,而将和添加到列表中则是两件事)。但这就是它的作用:它将添加(或尝试添加)到toDoList
,并返回一个布尔值。
return Response.status(200).build();
如前所述,这将始终是最后执行的行。该return语句将总是使函数返回,这意味着下面的行将不被执行。但是,如果没有,那么下面的行将会...
TrainingDTO returnDTO = new TrainingDTO();
创建一个TrainingDTO
类型的新对象
returnDTO.setItem(trainingDto.getItem());
根据现有对象(在if
条件中引用的对象)的字段设置该对象的字段
UUID uuid = toDoList.findUUIDByValue(trainingDto.getItem());
根据if
条件为对象查找称为UUID的值
returnDTO.setUUID(uuid.toString());
使用上面的UUID值设置新对象的UUID值
return Response.ok(returnDTO).build();
使用新对象制作一个Response
,并调用其build()
方法,然后返回该结果
}
答案 1 :(得分:-1)
无效,必须返回一件事。也没有什么可以与开头的if语句进行比较。我不同地建议修改代码并重新评估逻辑。