我正在学习《 Spring in Action》一书中的Spring,我从书中获得了可以正常使用的代码:
@Slf4j
@Controller
@RequestMapping("/design")
public class DesignTacoController {
@GetMapping
public String showDesignForm(Model model) {
List<Ingredient> ingredients = Arrays.asList(
new Ingredient("FLTO", "Flour Tortilla", Type.WRAP),
new Ingredient("COTO", "Corn Tortilla", Type.WRAP),
new Ingredient("GRBF", "Ground Beef", Type.PROTEIN),
);
Type[] types = Ingredient.Type.values();
for (Type type : types) {
model.addAttribute(type.toString().toLowerCase(),
filterByType(ingredients, type));
}
model.addAttribute("design", new Taco());
return "design";
}
}
但是当我在IDEA中键入它时,它说方法filterByType无法解析,但是书中没有这样的问题,也没有对此问题的任何评论。我是春季新手,尝试过很多Google,但找不到有关此问题的任何信息及其来源。您能帮我解决这个问题吗,一个不能因此而继续前进。 screenshot from IDEA
答案 0 :(得分:3)
这本书似乎包含一个错误,没有列出filterByType()
方法。这不是Spring方法。在这里,您去了:
private List<Ingredient> filterByType(List<Ingredient> ingredients, Type type) {
return ingredients.stream()
.filter(x -> x.getType().equals(type))
.collect(Collectors.toList());
}